如果这个常见问题或新手问题,请原谅。
我想知道为什么JS计算会返回错误的结果,我有这样的计算
console.log(((11000 * 100) / (100 + 1) * 1) / 100);
当我使用计算器时它返回110,但是当我使用JS计算它返回108.91089108910892
这里的例子是:
console.log(((11000 * 100) / (100 + 1) * 1) / 100);

有没有办法解决这个问题?或者我做错了计算? 我试过.toFixed()方法,但那不是我想要的......
nb:我已经阅读了这个solution,但这只是将价值四舍五入而不是结果(我的差异很大110到108.91089 ......)
答案 0 :(得分:1)
计算正确
以下是它的实际外观
(11000*100)
------------
(100+1)*1
_____________________
100
以上翻译为
1100000 1
--------- X ------
101 100
按照BODMAS规则进行此计算,结果为108.91(约)
答案 1 :(得分:0)
当将.1或1/10转换为基数2(二进制)时,在小数点后获得重复模式,就像尝试在基数10中表示1/3一样。该值不准确,因此不能使用常见的浮动方法。