Welcome 微信登录

首页 / 脚本样式 / JavaScript / javascript 数字格式化输出的实现代码

复制代码 代码如下:
<script type="text/javascript">
var format = function (number, form) {
    var forms = form.split("."), number = "" + number, numbers = number.split(".")
        , leftnumber = numbers[0].split("")
        , exec = function (lastMatch) {
            if (lastMatch == "0" || lastMatch == "#") {
                if (leftnumber.length) {
                    return leftnumber.pop();
                } else if (lastMatch == "0") {
                    return lastMatch;
                } else {
                    return "";
                }
            } else {
                return lastMatch;
            }
    }, string

    string = forms[0].split("").reverse().join("").replace(/./g, exec).split("").reverse().join("");
    string = leftnumber.join("") + string;

    if (forms[1] && forms[1].length) {
        leftnumber = (numbers[1] && numbers[1].length) ? numbers[1].split("").reverse() : [];
        string += "." + forms[1].replace(/./g, exec);
    }
    return string.replace(//.$/, "");
};
alert(format(123, "#.00"))                         //输出   123.00
alert(format(123, "0.##"))                         //输出   123
alert(format(123, "0000.00 "))                     //输出   0123.00
alert(format(123456, "###,###.00"))                //输出   123,456.00
</script>