Javascript 添加0';在jquery/js中,s位于数字之前

Javascript 添加0';在jquery/js中,s位于数字之前,javascript,jquery,Javascript,Jquery,嗨,我有一个需要6个数字的计数器 所以这可能是 000456 001250 015554 等 但问题是我得到的数字是456或1250,然后我需要将其转换为000456或001250 我该怎么做呢 谢谢 Dan对于前导零,您需要显示为字符串,因此假设您知道您的数字永远不会超过六位数,您可以这样做: var num = // your number var output = ("000000" + num).slice(-6); 考虑到更大的数字: var output = num > 99

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

所以这可能是

000456 001250 015554

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

我该怎么做呢

谢谢


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

var num = // your number
var output = ("000000" + num).slice(-6);
考虑到更大的数字:

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

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

var num = // your number
var output = ("000000" + num).slice(-6);
考虑到更大的数字:

var output = num > 99999 ? num : ("000000" + num).slice(-6);
Number.prototype.addZero=函数(){
返回此.toString().length
Number.prototype.addZero=函数(){

返回此.toString().length以下是一个函数,我使用它来填充前导0的数字:

pad = function(num, length){
    num = num.toString();
    while (num.length < length){
        num = "0" + num;
    }
    return num;
};
pad=函数(num,length){
num=num.toString();
while(num.length
我使用一个函数将数字填充为前导0:

pad = function(num, length){
    num = num.toString();
    while (num.length < length){
        num = "0" + num;
    }
    return num;
};
pad=函数(num,length){
num=num.toString();
while(num.length
这是我的一个老函数,我认为它仍然有效:p

function pad(n, len) 
{
    s = n.toString();
    if (s.length < len) 
    {
        s = ('0000000000' + s).slice(-len);
    }    
    return s;
}
功能板(n,len)
{
s=n.toString();
如果(s.长度<长度)
{
s=('0000000000'+s).slice(-len);
}    
返回s;
}

这是我的一个老函数,我认为它仍然有效:p

function pad(n, len) 
{
    s = n.toString();
    if (s.length < len) 
    {
        s = ('0000000000' + s).slice(-len);
    }    
    return s;
}
功能板(n,len)
{
s=n.toString();
如果(s.长度<长度)
{
s=('0000000000'+s).slice(-len);
}    
返回s;
}
这应该可以做到:

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
这应该做到:

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

可能会导致长数字出现一些问题though@zerkms-是的,确实如此。我已经为此添加了一个解决方法。当然,一个通用的零位填充函数会将所需的总位数作为一个参数,但是如果OP的页面有一个非常特殊的六位数计数器,那么类似的事情就不会那么麻烦了。可能会导致lon出现一些问题g数though@zerkms-是的,确实如此。我已经为此添加了一个解决方法。当然,通用的零填充函数会将所需的总位数作为一个参数,但是如果OP的页面有一个非常特殊的六位数计数器的情况,那么像这样的事情就不那么麻烦了。对于通用解决方案,生成一个字符串w是有意义的ith zeroEs对于一般解决方案,使用自己的方法生成一个带有zeroEstending Number的字符串是有意义的,这被认为是一个错误的解决方案practice@Derek 朕會功夫: 可读性。人们不会期望一个
数字
实现ECMAScript中定义以外的内容。它是一种虚拟格式,只需创建一个单独的对象并用作
格式设置程序。zeroPadding()
关于SO,这里有一个很好的答案:@zerkms-这是一个主观观点,最重要的是这只是一个例子。很可能。无论如何,我更喜欢后一个例子。用自己的方法扩展数字被认为是一个坏主意practice@Derek 朕會功夫: 可读性。人们不会期望一个
数字
实现ECMAScript中定义以外的内容。它是一种虚拟格式,只需创建一个单独的对象并用作
格式设置程序。zeroPadding()
这是一个关于SO的很好的答案:@zerkms-这是一个主观观点,最重要的是这只是一个例子。很可能。无论如何,我更喜欢后一个例子。好的,对不起,我做了搜索,没有找到答案。好的,对不起,我做了搜索,没有找到答案