您的位置:首页 > Web前端 > JavaScript

JS实现的4种数字千位符格式化方法分享

2017-12-07 14:02 621 查看
// 方法一

function toThousands(num) {

var result = [ ], counter = 0;

num = (num || 0).toString().split('');

for (var i = num.length - 1; i >= 0; i--) {

counter++;

result.unshift(num[i]);

if (!(counter % 3) && i != 0) { result.unshift(','); }

}

return result.join('');

}

// 方法二

function toThousands(num) {

var result = '', counter = 0;

num = (num || 0).toString();

for (var i = num.length - 1; i >= 0; i--) {

counter++;

result = num.charAt(i) + result;

if (!(counter % 3) && i != 0) { result = ',' + result; }

}

return result;

}

// 方法三

function toThousands(num) {

var num = (num || 0).toString(), re = /\d{3}$/, result = '';

while ( re.test(num) ) {

result = RegExp.lastMatch + result;

if (num !== RegExp.lastMatch) {

result = ',' + result;

num = RegExp.leftContext;

} else {

num = '';

break;

}

}

if (num) { result = num + result; }

return result;

}

// 方法四

function toThousands(num) {

var num = (num || 0).toString(), result = '';

while (num.length > 3) {

result = ',' + num.slice(-3) + result;

num = num.slice(0, num.length - 3);

}

if (num) { result = num + result; }

return result;

}

// 方法五

function toThousands(num) {

var num = (num || 0).toString(), temp = num.length % 3;

switch (temp) {

case 1:

num = '00' + num;

break;

case 2:

num = '0' + num;

break;

}

return num.match(/\d{3}/g).join(',').replace(/^0+/, '');

}

// 方法六

function toThousands(num) {

return (num || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,');

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: