float s = float.Parse("10499.9705314636");
现在s
的值为10499.97
。
有没有一种方法来保存所有的精密数字?
float s = float.Parse("10499.9705314636");
现在s
的值为10499.97
。
有没有一种方法来保存所有的精密数字?
你可能想看看进入浮动,双,和小数之间的差异 。 要特别注意二进制浮点类型之间的区别,以及一个十进制浮点类型。 十进制数据类型可能是你在找什么在这里,浮法没有足够显著数字来存储你想准确分析的数量。
尝试使用数据类型具有更高的精度比float
,如double
。 你的价值的剩余的数字,由于数据类型的大小被截断float
:
double s = double.Parse("10499.9705314636");
Console.WriteLine(s);
打印:
10499.9705314636
你应该尝试使用decimal
来代替。