-3

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

为什么 JS 显示 25.1+61.7+13.2 = 100.00000000000001 ?如果你只是改变数字的位置,比如 13.2+25.1+61.7 = 100,它是固定的。谁能解释一下。

4

2 回答 2

1

因为您使用的是浮点运算。 这是对正在发生的事情的解释。

于 2012-08-30T03:49:53.560 回答
1

JavaScript 使用 IEEE 754 浮点数学,这是一种 base-2 浮点格式。有许多值无法以该格式精确表示,特别是其中的小数部分,例如x.7.

这不是编译器问题。这是 JavaScript 表示实数的基本方式的问题。许多其他语言也会有完全相同的问题。

通常,计算机不会以严格的方式处理实数。

于 2012-08-30T03:50:37.557 回答