1、toLocaleString()
var num=123456789.65478;
var result=num.toLocaleString();
console.log(result); // 123.456.789.65478
2、正则(只能实现整数)
var num=123456789;
<!--var reg=/(\d)(?=(?:\d{3}))+$/g;-->
var reg=/(\d)(?=(\d{3})+$)/g;
var result=num.replace(reg,"$1,");
console.log(result);
?:替换时忽略
封装函数
1、js
function numFormat(num){
// 将数字转换为字符串,并分割整数部分和小数部分
numArr=num.toString().split(".");
let newArr=[];
// 将整数部分转换为数组
var numStr=numArr[0].split('');
for(var i=0;i<numStr.length;i++){
if((i+1)%3===0){
newArr.unshift(",");
}
newArr.unshift(numStr[i]);
}
// 如果有小数部分,操作完成后拼接起来
if(numArr[1]){
newArr=newArr.join("").concat("."+numArr[1]);
}else{
newArr=newArr.join("");
}
console.log(newArr)
}
2、toLocaleString()
function numFormat(num){
let result=num.toLocaleString();
console.log(result);
}
3、正则
function numFormat(num){
let result=num.toString().indexOf(".")!==-1?
num.toLocaleString():
num.replace(/(\d)(?=(\d{3})+$)/g,"$1,")
console.log(result);
}
numFormat(1234568.23); // 1,234,568.23