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

时间:2017-12-30 01:09:42

标签: javascript math rounding rounding-error

我知道这可能是由于某种舍入技术,但显然6.53 + 8应该只等于14.53。我的问题是,为什么会发生这种情况,我怎样才能获得准确的数额?

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

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

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