小编Ric*_*cký的帖子

如何在 JavaScript 中使用货币和语言环境来格式化大数字(由字符串表示)?

我正在开发一个用 TypeScript 编写的银行应用程序前端。

从后端,我收到:

  • 字符串中保留 2 位小数的金额(例如帐户余额)。这可能是一个很大的值 - 小数点前超过 15 位。
    • 其格式为:"32012012012012312.09"
  • 货币代码字符串(例如"USD"

我想使用千位分隔符、货币符号和 NBSP/NNBSP 处理来格式化金额,所有这些都与提供的区域设置有关。最简单的方法是什么?

对于部分问题是否有潜在的解决方案?例如 1. 格式化数字和 2. 格式化货币符号。

我尝试过的:

  • Intl.NumberFormat- 我喜欢它,但它需要一个number | bigint(虽然它不会因字符串而崩溃),但它在大十进制数时不再精确 - 例如它的格式32_012_012_012_012_312.0932,012,012,012,012,310.00- 我相信这是关于数字的 JavaScript 限制,这就是为什么我寻找处理字符串的东西
  • accounting-js-formatMoney具有字符串和数字的函数 - 结果相同,但缺少传递区域设置的功能
  • 寻找有关此主题的其他库和线程 - 我研究了一点 big/bignumber/decimal.js 和 numeric.js,还没有尝试过它们,但我相信它们是关于处理大数字,而不是格式化,甚至是基于区域设置格式化

javascript locale bigdecimal number-formatting currency-formatting

8
推荐指数
2
解决办法
3553
查看次数