0

可能重复:
处理浮点数的准确性问题

而 99.99 * 0.01 = 0.99

显然这是古老的浮点舍入问题,但是在这种情况下的舍入误差对我来说似乎相当大;我的意思是我可能期望得到 0.99990000001 或类似的“接近”结果。

作为记录,我在 JavaVM 和 .Net 环境中得到了相同的答案。

4

2 回答 2

5

为什么 0.9998999999999999 对您来说不够接近(而 0.9999000000000001 很好)?
绝对值(0.9999 - 0.9998999999999999)== 绝对值(0.9999 - 0.9999000000000001)

于 2010-05-28T15:38:18.443 回答
2

It is a floating point error. For (a lot) more detail see this wikipedia article. Use a decimal if you need accurate fractional results (see here).

于 2010-05-28T15:39:33.460 回答