封装:
function toThousand(num: number, separator: string = ',') {
let result = '';
let number = num;
let str = num.toString();
let dot = str.indexOf(".");
if (dot != -1) {
let dotCnt = str.substring(dot + 1, str.length);// 获取小数点后面部分
// 获取小数点前面部分
let numberStr = str.split('.')[0];
let count = 0;
for (let i = numberStr.length - 1; i >= 0; i--) {
count += 1;
result = numberStr.charAt(i) + result;
if (!(count % 3) && i != 0) {
result = separator + result;
}
}
result = result + '.' + dotCnt;
} else {
result = (number || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,');
}
return result;
}
使用:
console.log(toThousand(1244059173));//输出 1,244,059,173
console.log(toThousand(1244059173.015));//输出 1,244,059,173.015