为什么.075 * 100在Javascript中以7.499999999999996的形式出现?

时间:2014-03-07 20:38:46

标签: javascript

我正在学习Javascript,而我现在正在学习的具体课程是展示如何将1.075变成7.5%用于显示目的。

数学看起来如下:

(1.075 - 1)* 100

,结果显示为7.499999999999996。为什么世界上它在Javascript中这样计算?我用来完成相同数学计算的每个计算器都应该是7.5。我甚至不需要计算器来实现奇怪的东西,但我想在尽可能多的计算器上运行相同的数字,以便让我自己放心。我真的感到震惊的是,那个做教程的人并没有说明一点,除了如何修复它只显示2位小数,因为这看起来很奇怪。那怎么回事?我对这里发生的事情感到很好奇。

谢谢!

我想向所有对我提出重复问题感到非常不安的人道歉,并决定向我投降。我本来也一直在寻找答案,只是我甚至不知道如何开始查询这样的问题。

回答的人,并将我与另一篇回答我问题的文章联系起来;非常感谢,我为副本道歉:)

1 个答案:

答案 0 :(得分:1)

某些十进制数不能准确地存储为浮点数,因为它们是二进制的周期性数据。 1075/1000就是这样的数字。

http://floating-point-gui.de/