11

可能的重复:
JavaScript 的数学被破坏了吗?

当我减去 6.4-1.6 时,我在 JS 中得到的答案是 4.800000000000001,但我需要 4.8,而不使用 toFixed()、toPrecision() 和 Math.round()。任何想法???

谢谢,

水晶

4

2 回答 2

26

在进行减法之前转换为整数以避免浮点运算问题:

(6.4 * 10 - 1.6 * 10) / 10

看看每个程序员应该知道的关于浮点运算的知识

于 2012-05-23T05:26:49.173 回答
6

这是IEEE 754 浮点数的众所周知的限制。请参阅如何处理 JavaScript 中的浮点数精度?为解决方案。

于 2012-05-23T05:24:47.870 回答