JavaScript-js如何给数字从右边每三位添加一个逗号

发布于 2016-12-13 06:09:25 字数 197 浏览 1331 评论 3

可能重复的问题
PHP和JS实现比较大的数以“,”做分隔符分隔,如何做?

var str = '12345'; 得到12,345。求简单的实现方法。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

清晨说ぺ晚安 2017-09-16 22:05:22

var s = '12345';
s.replace(/(d)(?=(d{3})+(?!d))/g, "$1,")

利用肯定环视,找到一位数字且右边有若干组3位数字,则在当前数字后面跟上一个逗号

虐人心 2017-05-08 21:40:58

请参见“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>

甜柠檬 2017-02-22 20:10:19

<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>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文