在Javascript中使用准确的货币值

时间:2018-12-03 20:10:50

标签: javascript floating-point int financial

我正在使用财务数据的系统上工作。由于浮点数的使用,我得到了微妙的舍入错误。我想知道是否有更好的方法来解决这个问题。

问题之一是我正在使用多种不同货币的混合物,这些货币可能最多包含12个小数,而其他货币则为大数。

这意味着我需要代表的最小数字是0.000000000001 *(1 * 10 ^ -12),最大的100,000,000,000(1 * 10 ^ 11)。

有没有推荐的方法来处理这种大小的数字而不会失去精度?

1 个答案:

答案 0 :(得分:1)

如果您确实想停留在JS领域,则可以考虑使用Decimal.js来覆盖您的精度范围。
如果我正在编写此代码,并且需要确保没有舍入错误,则可能会尝试对微服务中仅用于财务数学的另一个lang使用GMP扩展名。对于Python3来说,GMPY2可能是快速便捷的上乘之选。