JavaScript 数字前补“0”的五种方法

来源:互联网 发布:新型网络创业 编辑:程序博客网 时间:2024/04/30 03:39

众所周知JavaScript中的数字是没有前置0的,因此需要我们自己进行操作来添加前置0,而且还得转换成字符串。

<html><body><script>    //迭代方式实现    function padding1(num, length) {        for(var len = (num + "").length; len < length; len = num.length) {            num = "0" + num;                    }        return num;    }    //递归方式实现    function padding2(num, length) {        if((num + "").length >= length) {            return num;        }        return padding2("0" + num, length)    }    //转为小数    function padding3(num, length) {        var decimal = num / Math.pow(10, length);        //toFixed指定保留几位小数        decimal = decimal.toFixed(length) + "";        return decimal.substr(decimal.indexOf(".")+1);    }    //填充截取法    function padding4(num, length) {        //这里用slice和substr均可        return (Array(length).join("0") + num).slice(-length);    }    //填充截取法    function padding5(num, length) {        var len = (num + "").length;        var diff = length - len;        if(diff > 0) {            return Array(diff).join("0") + num;        }        return num;    }    function test(num, length) {        document.write(padding1(num, length));        document.write("<br>");        document.write(padding2(num, length));        document.write("<br>");        document.write(padding3(num, length));        document.write("<br>");        document.write(padding4(num, length));        document.write("<br>");        document.write(padding5(num, length));        document.write("<br>");    }    test(123, 10);    test(1234567890123, 10);</script></body></html>

输出

000000012300000001230000000123000000012300000012312345678901231234567890123456789012345678901231234567890123
0 0
原创粉丝点击