- 函數(shù)方式:
把金額當(dāng)做字符串,從末尾開(kāi)始處理伞芹,只處理整數(shù)部分可柿,小數(shù)部分不管,每三位就加一個(gè)逗號(hào)
function formatAmount(num) {
num=num.toString().split("."); // 分隔小數(shù)點(diǎn)
var arr=num[0].split("").reverse(); // 轉(zhuǎn)換成字符數(shù)組并且倒序排列
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]){ // 如果有小數(shù)的話添加小數(shù)部分
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自帶的函數(shù) toLocaleString:
var num = 23245.12;
num.toLocaleString();