天天看点

JavaScript金额千分位格式化

1、正数,可保留规定位数小数:

function fmoney(s, n) { 
    n = n >  && n <=  ? n : ; 
    s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + ""; //转换成字符串,过滤非数字、.号和负号
    var l = s.split(".")[].split("").reverse(), r = s.split(".")[]; 
    t = ""; 
    for (i = ; i < l.length; i++) { 
    t += l[i] + ((i + ) %  ==  && (i + ) != l.length ? "," : ""); 
    } 
    return t.split("").reverse().join("") + "." + r; 
} 
           

2、正数、负数均可,小数位不处理

function formatMoney(num) {
    var source = String(num).split(".");//按小数点分成2部分
    source[] = source[].replace(new RegExp('(\\d)(?=(\\d{3})+$)','ig'),"$1,");//只将整数部分进行都好分割
    return source.join(".");//再将小数部分合并进来
}
           

继续阅读