千分化一个数
正则
需要单独处理小数部分
// 当传入的数字小数过多时,会自动截取
function thousands(num) {
if (typeof num !== 'number' || isNaN(num)) {
return false;
}
// 将输入的数字转换为字符串
num = num.toString();
// 分割整数和小数部分
let arr = num.split('.');
let reg = /[1-9]\d{0,2}(?=(\d{3})+$)/g;
arr[0] = arr[0].replace(reg, '$&,');
return arr.join('.');
}
thousands(12312312321.123456789); // '12,312,312,321.123457'
toLocaleString()
需要单独处理小数部分
let a = 123456789;
a.toLocaleString(); // '123,456,789'
let b = 14654651156.21345;
b.toLocaleString(); // '14,654,651,156.213'
Intl.NumberFormat
需单独处理小数部分
new Intl.NumberFormat().format(987654321.123456); // 987,654,321.123