在每个第三个字符后添加一个逗号,但从后面开始



我写了一个脚本,可以在每个第三个字符后面添加一个","。再看一遍,我意识到客户简报说它需要从后面计数,而不是从前面计数。

所以3000美元应该变成3000美元。目前,我的脚本使其为$300.00(忽略$,因为它不是字符串的一部分(

这是我的脚本:

value.match(/.{1,3}/g).join(',')

请有人对我如何更新以获得期望的结果有什么建议吗?或者也许有什么建议可以用不同的方式来做?

如有任何建议,将不胜感激

也许Number.prototype.toLocaleString可以来救援?

const amount = `$ 3000`;
const amountNumeric = +amount.replace(/[^d]/, "");
console.log(amount.replace(/(d+)/, amountNumeric.toLocaleString("US-us")));
// for fun: as oneliner
const toLocaleAmount = (amount, locale = "US-us") => 
`${amount.replace(/d+|./g, "")}${(+amount.match(/(d+)/g).join(".")).toLocaleString(locale)}`
console.log(toLocaleAmount("$ 3000"));
console.log(toLocaleAmount("€ 32200.04", "FR-fr"));
console.log(toLocaleAmount("¥ 121009.98"));
console.log(toLocaleAmount("€ 2321.25", "NL-nl"));
.as-console-wrapper { top: 0; max-height: 100% !important; }

相关内容

最新更新