javascript - 错误添加负数jquery

标签 javascript jquery numbers parsefloat

我在 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 :)

希望这有帮助。

关于javascript - 错误添加负数jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43429295/

相关文章:

r - 如何提取特定关键字前后的所有数字?

javascript - 如何解决不变违规: maximum update depth exceeded in React-Native?

jquery - 在下拉菜单中使用 jquery 显示隐藏 div

javascript - 如何仅在所有 getjson 调用完成时将对象数组传递给另一个函数?

javascript - 访问 li ul 中的 href 元素

javascript - 如何使用 Ajax 和 jQuery 传递两个不同选择标签的值以进行处理?

JavaScript - 显示带小数的数字

java - Java 中生成随机 int

javascript - 在特定实例上实现方法?

javascript - Cytoscape.js 中节点和边的内联编辑器