我正在进行一些 JS 计算。由于浮点运算通常使用数字的近似值而不是精确值,因此如果将这些浮点数四舍五入到固定精度,您通常会得到细微的差异。当你处理美元时,人们不喜欢这些细微的差别。
这个jsfiddle概述了我的问题:http: //jsfiddle.net/rGP8Q/。
有谁知道我如何在不引入来自浮点近似的这些舍入误差的情况下进行数学运算(乘法和加法)?
编辑
我发现另一个帖子提出了同样的问题,并确认 JS 没有内置的十进制数据类型:如何处理 JavaScript 中的浮点数精度?.
你可以看看你的JS终端是否
626.175.toFixed(2) == 626.17
626.185.toFixed(2) == 626.18
626.195.toFixed(2) == 626.20
这是不一致的。我们需要一个真正的十进制数据类型。