3

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

在 Javascript 中,

3 * 0.1 = 0.30000000000000004

我认为这是由于语言的数字系统无法准确表示 0.3。但为什么会出现以下情况?

0.15 * 2 = 0.3

相似地,

0.1 + 0.2 = 0.30000000000000004

0.15 + 0.15 = 0.3

怎么样?

4

1 回答 1

4

但为什么会出现以下情况?

0.15 * 2 = 0.3

结果并不完全是 0.3,但它足够接近,因此当将最低有效数字四舍五入以显示该值时,它会四舍五入为 0.3。

0.10.15也不准确,但表示的误差0.1似乎大于 for 0.15。当您在计算中使用这些值时,误差会累积,并且迟早会变得大到无法在显示值时四舍五入。

于 2013-01-10T05:25:21.240 回答