用于数字格式的常规快递

regular express for number formatting

本文关键字:常规 快递 格式 数字 用于      更新时间:2023-09-26

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

这是我所拥有的:

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

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

我目前还不远

3234234.223512 becomes 3,234,234.223,512

感谢您的帮助。

我找到了这个Javascript库的会计.js

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

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

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

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