我正在从csv中读取数字列,其中数字 123456791234567 但是由于格式转换为 csv文件中 number =“1.23457E + 14”。
有什么方法可以使用c#将其更改为原始字符串? 我正在尝试下面的代码:
decimal number = Decimal.Parse(number,System.Globalization.NumberStyles.Any);
但我得到的数字是123457000000000M,实际数字是 123456791234567
对此有何看法?
答案 0 :(得分:1)
如果我理解正确,excel会将 123456791234567 转换为 1.23457E + 14 。在这种情况下,您只需要在设置值之前将包含值的excel单元格(或可能是列)格式化为string。
如果C#程序打开csv以找到 1.23457E + 14 的值,则无法将其转换回 123456791234567 ,因为精度已经丢失 - 除非当然在其他单元格(列)中存在(或可以重新创建)相同的值