在jquery / js中的数字前加0

时间:2014-01-17 01:15:36

标签: javascript jquery

嗨我有一个需要6个数字的计数器

所以这可能是

000456 001250 015554

但问题是我得到的数字为456或1250,然后我需要将其转换为000456或001250.

我该怎么做?

由于

5 个答案:

答案 0 :(得分:5)

对于前导零,您需要显示为字符串,因此假设您知道您的数字永远不会超过六位数,您可以这样做:

var num = // your number
var output = ("000000" + num).slice(-6);

允许更大的数字:

var output = num > 99999 ? num : ("000000" + num).slice(-6);

答案 1 :(得分:1)

Number.prototype.addZero = function(){
    return this.toString().length <= 6 ? ("000000" + this).substr(-6) : this.toString();
}

(486).addZero() //"000486"

老实说,在我看来,最简单的添加零的方法如下:

function addZeros(num, len){
    while((""+num).length < len) num = "0" + num;
    return num.toString();
}

答案 2 :(得分:1)

这是我的一个旧功能,我认为它仍然有效:P

function pad(n, len) 
{
    s = n.toString();
    if (s.length < len) 
    {
        s = ('0000000000' + s).slice(-len);
    }    
    return s;
}

答案 3 :(得分:1)

这应该这样做:

function prependZeros(num){
    var str = ("" + num);
    return (Array(Math.max(7-str.length, 0)).join("0") + str);
}

示例:

console.log(prependZeros(0));       //000000
console.log(prependZeros(1));       //000001
console.log(prependZeros(12));      //000012
console.log(prependZeros(123));     //000123
console.log(prependZeros(1234));    //001234
console.log(prependZeros(12345));   //012345
console.log(prependZeros(123456));  //123456
console.log(prependZeros(1234567)); //1234567

答案 4 :(得分:0)

这是我用来填充前导0的数字的函数:

pad = function(num, length){
    num = num.toString();
    while (num.length < length){
        num = "0" + num;
    }
    return num;
};