JavaScript金額千分位格式化
阿新 • • 發佈:2019-01-11
1、正數,可保留規定位數小數:
function fmoney(s, n) {
n = n > 0 && n <= 20 ? n : 2;
s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + ""; //轉換成字串,過濾非數字、.號和負號
var l = s.split(".")[0].split("").reverse(), r = s.split(".")[1];
t = "";
for (i = 0; i < l.length; i++) {
t += l[i] + ((i + 1 ) % 3 == 0 && (i + 1) != l.length ? "," : "");
}
return t.split("").reverse().join("") + "." + r;
}
2、正數、負數均可,小數位不處理
function formatMoney(num) {
var source = String(num).split(".");//按小數點分成2部分
source[0] = source[0].replace(new RegExp('(\\d)(?=(\\d{3})+$)','ig'),"$1,");//只將整數部分進行都好分割
return source.join(".");//再將小數部分合並進來
}