错误添加负数 jquery

Bug add negative numbers jquery

我在添加负数时遇到问题jquery, 代码:

var k = parseFloat(-0.1) + parseFloat(0.3);
console.log(k); // 0.19999999999999998

但我需要结果 0.2

这与计算机解析数字的方式有关,特别是浮点表示法。 0.1 是 1/10,不能用以 2 为底的数字(即 2^n)精确表示。

如果您可以接受一些舍入误差,我建议您参考此 answer,然后执行以下操作:

var k = parseFloat(-0.1) + parseFloat(0.3);

k = Math.round(k * 100) / 100; // 2 decimal points precision. Use 10 instead of 100 for 1 decimal point precision.
console.log(k); // 0.2 :)

希望对您有所帮助。