【问题标题】:Is there a decimal math library for JavaScript?JavaScript 有十进制数学库吗?
【发布时间】:2023-12-29 14:09:02
【问题描述】:

是否有成熟的库用于在 JavaScript 中进行基于十进制的数学运算,可能是任意精度?

编辑:我想要此信息作为浮点相关问题的参考页面,以及在二进制浮点不合适时使用的替代方法:http://floating-point-gui.de/

【问题讨论】:

  • '服务器'。说真的,你为什么需要它?服务器端 JS?一些特殊的数学?画布上的 3D? ...这可能有助于寻找正确的方向。
  • 好问题,但重复。见:*.com/questions/287744/…
  • @Anthony 那个问题是关于浮点,而这个问题(我认为)是关于无限精度定点的。您链接的第二个显然无关紧要。
  • 还有一个类似的问题:*.com/questions/744099/…,但已经有一年了。我很好奇任何更新。
  • @Boldewyn 常见用例:类似电子表格的用户界面的货币操作

标签: javascript decimal bigdecimal


【解决方案1】:

作为他们的作者,我推荐 bignumber.jsbig.js,“一个小型、快速的 Javascript 库,用于使用十进制数进行任意精度算术运算”。

对于更成熟的库,也推荐ICU4J BigDecimal翻译。

【讨论】:

  • 后者实际上是另一个答案中提到的库,现在希望在 github 上有一个更永久的家。
  • bignumber.js 现在在 jsdelivr CDN
【解决方案2】:

Java BigDecimal 类的“端口”(我认为它在这里:http://freshmeat.net/projects/js_bigdecimal/)已经存在很长时间了。我很久以前看过它,它看起来有点笨重和巨大,但是(如果这是我正在考虑的那个)它已被用作一些加密工具的一部分,所以它很有可能可以正常工作。

因为密码学很可能会产生对此类事物的需求,所以这是窥探此类软件包的好方法。

编辑:感谢@Daniel(评论问题)提出这个较旧的SO问题:https://*.com/questions/744099/javascript-bigdecimal-library

【讨论】:

  • BigDecimal 端口的官方主页好像是这样的:stz-ida.de/html/oss/js_bigdecimal.html.en - 我什至找不到从freshmeat 下载的方法。
  • 啊。好吧,它在谷歌搜索中无处不在。它已经存在了很长时间。
  • BigDecimal 链接变为 404。似乎该网站已重新设计。新链接:stz-ida.de/…
  • @spoulson,这个新链接也给出了 404 ......:S
【解决方案3】:

由于似乎没有提到,这里是another one。我自己(还)没有使用它,所以我会在尝试后更新帖子。

【讨论】: