我正在尝试使用eval()作为我正在制作的计算器,但如果我尝试这个
console.log(eval("5.2-5"));
返回
0.20000000000000018
为什么会这样。谢谢你的时间。
答案 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)):