Bug添加负数jquery

时间:2017-04-15 17:46:00

标签: javascript jquery numbers parsefloat

我有添加负数jquery的问题, 代码:

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

但我需要结果0.2

1 个答案:

答案 0 :(得分:1)

这与计算机解析数字的方式有关,特别是浮点表示。 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 :)

希望这有帮助。