JavaScript-js如何给数字从右边每三位添加一个逗号
可能重复的问题
PHP和JS实现比较大的数以“,”做分隔符分隔,如何做?
var str = '12345'; 得到12,345。求简单的实现方法。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
可能重复的问题
PHP和JS实现比较大的数以“,”做分隔符分隔,如何做?
var str = '12345'; 得到12,345。求简单的实现方法。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
var s = '12345';
s.replace(/(d)(?=(d{3})+(?!d))/g, "$1,")
利用肯定环视,找到一位数字且右边有若干组3位数字,则在当前数字后面跟上一个逗号
请参见“javascript :数字格式化输出 ”
一下部分来源于原文:
---------------------------
<script type="text/javascript">
var format = function (number, form) {
var forms = form.split('.'), number = '' + number, numbers = number.split('.')
, leftnumber = numbers[0].split('')
, exec = function (lastMatch) {
if (lastMatch == '0' || lastMatch == '#') {
if (leftnumber.length) {
return leftnumber.pop();
} else if (lastMatch == '0') {
return lastMatch;
} else {
return '';
}
} else {
return lastMatch;
}
}, string
string = forms[0].split('').reverse().join('').replace(/./g, exec).split('').reverse().join('');
string = leftnumber.join('') + string;
if (forms1 && forms1.length) {
leftnumber = (numbers1 && numbers1.length) ? numbers1.split('').reverse() : [];
string += '.' + forms1.replace(/./g, exec);
}
return string.replace(//.$/, '');
};
alert(format(123, '#.00')) //输出 123.00
alert(format(123, '0.##')) //输出 123
alert(format(123, '0000.00 ')) //输出 0123.00
alert(format(123456, '###,###.00')) //输出 123,456.00
</script>
<script>
function f(){
var str = '123456789',length = str.length,a = (length - 1) / 3,m = length % 3,i,s,result;
m = m==0?3:m
s = str.substr(0,m);
for(i=1;i<a;i++){
s = s.concat(',');
s = s.concat(str.substr(m+3*(i-1),3));
}
console.log(s);
}
f();
</script>