第一种,使用toLocaleString()
var str = 12345678.98765;
console.log(str.toLocaleString());
输出结果,注意小数部分会被四舍五入
第二种,自定义方法使用循环
function numSplit(num){
var result = [],decimal="";
newNum = num.toString();
if(newNum.indexOf(".") != -1){
decimal = newNum.slice(newNum.indexOf("."));
newNum = newNum.slice(0, newNum.indexOf("."))
}
var length = newNum.length;
for (let index = 0; index < length; index+=3) {
if(newNum.length>3){
result.unshift(`${newNum.slice(-3)}`);
newNum = newNum.slice(0,newNum.length-3);
}else{
result.unshift(newNum)
}
}
return result.join()+decimal;
}
第三种 使用正则表达式
正则表达式从网上找来的正则表达式参照地址
function numFormat(num){
var res=num.toString().replace(/\d+/, function(n){
return n.replace(/(\d)(?=(\d{3})+$)/g,function($1){
return $1+",";
});
})
return res;
}
var a=1234567894532;
var b=673439.4542;
console.log(numFormat(a));
console.log(numFormat(b));
|