方法一:
// num 可以是 number 或者 string 類型
let num = 1234;
let splitNum = Number(num).toLocaleString()
console.log(splitNum) // 1,234
Number()
可以換成parseInt()
或者parseFloat()
。但是parseInt()
不會保留小數,而Number()
和parseFloat()
則會保留小數點后三位。
方法二:
自定義格式化函數:
如果將
parseInt(n).toString();
換成Number()
或者parseInt()
得到的結果會不准確
function format_number(n){
var b = parseInt(n).toString();
var len = b.length;
if(len<=3){return b;}
var r=len%3;
// b.slice(r,len).match(/\d{3}/g).join(",") 每三位數加一個逗號。
return r > 0 ? b.slice(0,r)+","+b.slice(r,len).match(/\d{3}/g).join(",")
: b.slice(r,len).match(/\d{3}/g).join(",");
}
var a="53669988.000";
alert(format_number(a)); // 53,669,988
alert(format_number("wahh")); // NAN
alert(format_number(0));
alert(format_number(6698.0023)); // 6,698
另一種封裝
thousandBitSeparator(textValue) {
if (textValue === '') return '';
var textValueFormat = Number(textValue);
if (!isNaN(textValueFormat)) {
return textValueFormat.toLocaleString('en-US');
} else {
return textValue;
}
}
參考文章:https://blog.csdn.net/fyq891014/article/details/41869807