为什么 6.53 + 8 = 14.530000000000001 在 JavaScript 中?

Why does 6.53 + 8 = 14.530000000000001 in JavaScript?

我知道这可能是由于某种舍入技术造成的,但显然 6.53 + 8 应该只等于 14.53。我的问题是,为什么会这样,我怎样才能得到准确的总和?

var x = 6.53 + 8;
console.log(x);// 14.530000000000001

小数点数字在计算机中的表示方式不同......并且有这个问题......你可以在许多编程语言中发生这种情况......将你的数字四舍五入到一定的精度......只要你不'用 JavaScript 做高级计算你会没事的。更多信息。 https://www.w3schools.com/js/js_numbers.asp

这是 JS 的正常行为,尝试像这样使用 toFixed(2)

var x = 6.53 + 8;
console.log(x.toFixed(2));