千分位符分隔数字的巧妙实现

var value = 1234567000;  

value = value.toString();

value = value.split(/(?=(?:...)*$)/);

value = value.join(',');


是不是超级简单,比原来使用的方法简单多了,但是只适用整数(带小数点的不行哈,有小数点时需要兼容下),请看下面代码:

原来的方法,请看下面代码:

var value = 1234567000;

value = value + "";

if (value.match(/\./)) {

    var temp = value.split(".");

    value = temp[0].split('').reverse().join('').replace(/(\d{3})/g, '$1,').replace(/\,$/, '').split('').reverse().join('') + "." + temp[1];

} else {

    value = value.split('').reverse().join('').replace(/(\d{3})/g, '$1,').replace(/\,$/, '').split('').reverse().join('');

}

console.log(value)

你可能感兴趣的:(千分位符分隔数字的巧妙实现)