我正在进行一些JS计算。由于浮点算术通常使用近似于数字的近似值而不是精确值,因此,如果将这些浮点数舍入为固定精度,则经常会产生细微的差异。当您处理美元时,人们不喜欢这些细微的差别。

我的问题在此jsfiddle中概述:http://jsfiddle.net/rGP8Q/

有谁知道我如何做数学运算(乘法和加法)而不会引入来自浮点近似的舍入误差?

编辑

我发现另一篇文章提出了同样的问题,并确认JS没有内置的十进制数据类型:How to deal with floating point number precision in JavaScript?

你可以看看你的JS终端

626.175.toFixed(2) == 626.17
626.185.toFixed(2) == 626.18
626.195.toFixed(2) == 626.20

这是不一致的。我们需要一个真正的十进制数据类型。

最佳答案

是。通常,总是以最小面额的单位进行交易,并且仅在末尾除以100,仅用于显示目的。

关于javascript - parseDecimal在JavaScript中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10984748/

10-10 05:45