js格式化金额

/*
     * formatMoney(num,type)
     * 功能:金额按千位逗号分割
     * 参数:num,需要格式化的金额数值.
     * 参数:type,需要小数位.
     * 返回:返回格式化后的数值字符串.
     */
    function formatMoney(num, type) {
        var s = Number(num);
        if (/[^0-9\.]/.test(s))
            s =0;
        if (s == null || s == "")
            s =0;
        if (typeof(type) == 'undefined') {//default 2
            type = 2
        }
        if (type > 6) {
            alert('小数位最长6位!');
            s =0;
        }
        if (s == 0) {
            if (type == 0) {
                return s;
            }
            s = s.toString() + '.';
            for (var i = 0; i < type; i++) {
                s += '0';
            }
            return s;
        }
        s = s.toFixed(type);
        s = s.toString().replace(/^(\d*)$/, "$1.");
        s = s.replace(/(\d*\.\d*)\d*/, "$1");
        s = s.replace(".", ",");
        var re = /(\d)(\d{3},)/;
        while (re.test(s))
            s = s.replace(re, "$1,$2");
        s = s.replace(/,(\d*)$/, ".$1");

        if (type == 0) {// 不带小数位(默认是有小数位)
            var a = s.split(".");
            s = a[0];
        }
        return s;
    }

    alert(formatMoney(897329732.7888,6));

猜你喜欢

转载自sxlkk.iteye.com/blog/2342498