为什么Division在javascript中生成具有更多十进制值的结果



当我执行以下操作时,得到的结果如下。

实际值:5.9/100=0.059000000000000004

预期值:5.9/100=0.059

有人知道吗?

感谢

来自MDN:

数字

JavaScript中的数字是";双精度64位格式IEEE 754值";,根据规格这有一些有趣的地方后果。JavaScript中没有整数,所以如果你习惯了的话,你必须在算术上小心一点用C或Java编写数学。

此外,要注意以下内容:

0.1 + 0.2 == 0.30000000000000004;

在实践中,整数值被视为32位整数实现甚至以这种方式存储它,直到它们被要求执行对数字有效但对32位整数无效的指令。这对于位操作可能很重要。

支持标准算术运算符,减法、模数(或余数(运算等等。有还有一个我们之前没有提到的内置对象,叫做Math提供高级数学函数和常数:

最新更新