Javascript eval返回错误的值

时间:2016-03-11 15:38:48

标签: javascript html eval

我正在尝试使用eval()作为我正在制作的计算器,但如果我尝试这个

console.log(eval("5.2-5"));

返回

0.20000000000000018

为什么会这样。谢谢你的时间。

2 个答案:

答案 0 :(得分:0)

这是由于Javascript如何处理浮点精度。有关详细信息,请参阅How to deal with floating point number precision in JavaScript?

简短回答:由于计算机处理浮动的性质,这意味着浮点精度实际上会超过某一点。这就是你所看到的。

答案 1 :(得分:0)

Javascript将“5.2-2”评估为浮点数,不保证精度 如果您需要固定的精度,可以使用

console.log(eval("5.2-5.0").toFixed(2)):