正则表达式添加数千,数百万等逗号(但避免在小数点后添加它们)Javascript
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式添加数千,数百万等逗号(但避免在小数点后添加它们)Javascript相关的知识,希望对你有一定的参考价值。
问题很简单,我们需要将逗号放在正确的位置,以帮助用户以正确的方式格式化数字。
例如,如果用户输入:
123123123.534343
结果应该是:
123,123,123.534343
而我们现在拥有的是:(当没有'。'时失败)
str.toString()。replace(/ B(?=( d {3})+(?! d)。)/ g,',');
并且:(失败,因为它在'。'后面的小数部分添加了逗号)
str.toString()。replace(/ B(?=( d {3})+(?! d))/ g,',');
有任何想法吗?
答案
最好使用Intl.NumberFormat格式化数字,因为它取决于语言
console.log(new Intl.NumberFormat('en-US').format(123123123.534343));
另一答案
小数点前4位数的正则表达式示例:
echo 1234.556 | sed 's/([0-9])([0-9])([0-9])([0-9])(.[0-9]*)/1,2345/'
您需要相应地更新它以获得不同数量的数字(但请注意,匹配模式的限制为9,至少为sed,因此这将适用于小数点前最多8位数)。
以上是关于正则表达式添加数千,数百万等逗号(但避免在小数点后添加它们)Javascript的主要内容,如果未能解决你的问题,请参考以下文章
添加逗号时如何更新此 jQuery 插件/正则表达式以忽略小数?
MATLAB:与少数(数千)个大文件相比,很多(数百万)个小文件有啥问题吗?