【发布时间】:2017-04-15 17:46:00
【问题描述】:
我在添加负数 jquery 时遇到问题, 代码:
var k = parseFloat(-0.1) + parseFloat(0.3);
console.log(k); // 0.19999999999999998
但我需要结果 0.2
【问题讨论】:
标签: javascript jquery numbers parsefloat
我在添加负数 jquery 时遇到问题, 代码:
var k = parseFloat(-0.1) + parseFloat(0.3);
console.log(k); // 0.19999999999999998
但我需要结果 0.2
【问题讨论】:
标签: javascript jquery numbers parsefloat
这与计算机如何解析数字有关,特别是浮点表示。 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 :)
希望这会有所帮助。
【讨论】: