- 函数方式:
把金额当做字符串,从末尾开始处理,只处理整数部分,小数部分不管,每三位就加一个逗号
function formatAmount(num) {
num=num.toString().split("."); // 分隔小数点
var arr=num[0].split("").reverse(); // 转换成字符数组并且倒序排列
var res=[];
for(var i=0,len=arr.length;i<len;i++){
if(i%3===0&&i!==0){
res.push(","); // 添加分隔符
}
res.push(arr[i]);
}
res.reverse(); // 再次倒序成为正确的顺序
if(num[1]){ // 如果有小数的话添加小数部分
res=res.join("").concat("."+num[1]);
}else{
res=res.join("");
}
return res;
}
formatAmount('18920.36');
- 正则匹配方式:
var reg = /(\d)(?=(\d{3})+\.)/g;
var num = 23245.12;
num.toString().replace(reg, '$1,');
- 使用JS自带的函数 toLocaleString:
var num = 23245.12;
num.toLocaleString();