double.parse返回精度差

本文关键字:精度 返回 parse double | 更新日期: 2023-09-27 17:57:59

为什么double.parse ("1833.35")返回值1833.349999999999

double.parse返回精度差

这是因为浮点值在机器中用二进制指数表示,而10不是2的偶数次方。因此,一些以10为基数的馏分在转换时会变成重复馏分。

为了说明,只需计算出如何用二进制表示35/100。

如果需要绝对正确,可以切换到使用十进制而不是双精度。Decimal存储以10为基数的指数。

没有办法用double或float精确地表示.35。