金额按千位逗号分隔

2018-12-01  本文已影响0人  麓语
// 参数:str,需要格式化的金额数值.
// 参数:flag,判断格式化后的金额是否需要小数位.
// 返回:返回格式化后的数值字符串.
function formatMoney (str, flag=true) {
    if (/[^0-9\.]/.test(str))
        return "0.00";
    if (str == null || str == "null" || str == "")
        return "0.00";
    str = str.toString().replace(/^(\d*)$/, "$1.");
    str = (str + "00").replace(/(\d*\.\d\d)\d*/, "$1");
    str = str.replace(".", ",");
    var re = /(\d)(\d{3},)/;
    while (re.test(str))
        str = str.replace(re, "$1,$2");
        str = str.replace(/,(\d\d)$/, ".$1");
    if (!flag) {
        var a = str.split(".");
        if (a[1] == "00") {
            str = a[0];
        }
    }
    return str;
},
上一篇 下一篇

猜你喜欢

热点阅读