JavaScript浮点和问题

时间:2012-08-30 03:48:18

标签: javascript

  

可能重复:
  Is JavaScript's Math broken?

为什么JS显示25.1 + 61.7 + 13.2 = 100.00000000000001?它是固定的,如果你只是改变数字的位置,如13.2 + 25.1 + 61.7 = 100.任何人都可以解释这一点。

2 个答案:

答案 0 :(得分:1)

因为您正在使用浮点运算。 Here is an explanation of what is happening.

答案 1 :(得分:1)

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

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

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