数字格式的正则表达式

时间:2012-05-27 13:26:02

标签: javascript regex

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

这就是我所拥有的:

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

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

我目前并不是那么远

3234234.223512 becomes 3,234,234.223,512

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

我找到了这个Javascript库accounting.js

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

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

答案 1 :(得分:0)

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

  1. 首先从字符串中删除小数点和以下任何数字
  2. 使用您的reg exp(减去小数部分)将逗号添加到第一部分
  3. 连接删除的小数点