2

我不是正则表达式专家,我需要一些关于格式化数字的帮助。

这就是我所拥有的:

TheNumber = TheNumber.toString().split(/(?=(?:\d{3})+(?:\.|$))/g).join(",");

基本上,我希望 TheNumber 用逗号格式化,以分隔千位和最多 3 位小数精度,如果有小数,则用点表示小数。它也应该适用于负数。

我现在不远了

3234234.223512 becomes 3,234,234.223,512

谢谢你的帮助。

4

2 回答 2

1

我找到了这个 Javascript 库accounting.js

如描述中所述。
Accounting.js 是一个用于数字、货币和货币格式的小型 JavaScript 库,具有可选的 excel 样式列渲染(用于排列符号和小数)。它是轻量级的、完全可本地化的并且具有零依赖性。

它与您的要求相同,甚至更多。

于 2012-05-27T13:45:32.493 回答
0

我会分两部分解决这个问题,而不是一个正则表达式。特别是,我会:

  1. 首先从字符串中删除小数点和任何以下数字
  2. 使用您的 reg exp(减去小数部分)在第一部分添加逗号
  3. 连接回删除的小数点
于 2012-05-27T14:27:31.443 回答