浮点精度js的问题

时间:2017-09-26 09:02:19

标签: javascript numbers

我在JS中遇到以下错误。

(1.001 * Math.pow(10, 3))

而不是返回1001,这会返回1000.99999999。我试图消除这个错误,并一直在寻找使用这个big.js库。

我不确定如何解决此问题。

我尝试了以下但是它似乎没有效果。

var x = new Big(10);
(1.001 * x.pow(3));

这会产生与没有库相同的错误。

1 个答案:

答案 0 :(得分:3)

你必须以这种方式使用Big.js,我认为你必须忘记使用传统的运算符:



console.log(Big(1.001).times(Big(10).pow(3)))

<script src="https://cdnjs.cloudflare.com/ajax/libs/big.js/3.2.0/big.min.js"></script>
&#13;
&#13;
&#13;