float s = float.Parse("10499.9705314636");
现在s
的值为10499.97
。
有没有办法保存所有精确数字?
答案 0 :(得分:6)
您可能需要查看difference between float, double, and decimal。请特别注意二进制浮点类型和十进制浮点类型之间的区别。十进制数据类型很可能是您在这里寻找的,因为浮点数没有足够的有效数字来存储您尝试准确解析的数字。
答案 1 :(得分:4)
尝试使用精度高于float
的数据类型,例如double
。由于数据类型float
的大小:
double s = double.Parse("10499.9705314636");
Console.WriteLine(s);
打印:
10499.9705314636
答案 2 :(得分:2)
您应该尝试使用decimal
代替。