double.parse返回精度差
本文关键字:精度 返回 parse double | 更新日期: 2023-09-27 17:57:59
为什么double.parse ("1833.35")
返回值1833.349999999999
?
这是因为浮点值在机器中用二进制指数表示,而10不是2的偶数次方。因此,一些以10为基数的馏分在转换时会变成重复馏分。
为了说明,只需计算出如何用二进制表示35/100。
如果需要绝对正确,可以切换到使用十进制而不是双精度。Decimal存储以10为基数的指数。
没有办法用double或float精确地表示.35。