Javascript 如何通过保持左边的“0”来保持n位数字?

Javascript 如何通过保持左边的“0”来保持n位数字?,javascript,string,numbers,Javascript,String,Numbers,我做了一个for循环,希望它能很好地对齐 for(var i=7;i<14; i++){ console.log( i ) } 我想要 07 08 09 10 11 12 13 有没有一种内在的方法可以做到这一点? 没有级联测试,如i.length=1?'0'+i:i 现在我使用.toPrecision2: 但这是次优的,因为迭代是整数,不能有.xx。检查此代码。这是内置的功能 <script> for (var i = 7; i < 14; i++) {

我做了一个for循环,希望它能很好地对齐

for(var i=7;i<14; i++){ console.log( i ) }
我想要

07
08
09
10
11
12
13
有没有一种内在的方法可以做到这一点? 没有级联测试,如i.length=1?'0'+i:i

现在我使用.toPrecision2:


但这是次优的,因为迭代是整数,不能有.xx。

检查此代码。这是内置的功能

<script>
    for (var i = 7; i < 14; i++) {
        console.log(i.toString().padStart(2, "0"));
    }
   </script>
您还可以使用slice

 for (var i = 7; i < 14; i++) {
            console.log(("00" + i).slice(-2));
        }
如果使用切片和编号>100

for (var i = 99; i < 104; i++) {
        console.log(("00" + i).slice(-3));
    }
你可以使用正确的选项

var i; 对于i=7;i<14;i++{ console.logi.toLocaleStringundefined,{minimumIntegerDigits:2} } .as控制台包装{max height:100%!important;top:0;}连接00和您的数字,并与负数一起使用

对于var i=7;i<14;i++{ console.log00+i.slice-2; } forvar i=7;i<14;我++{ console.logprependZeroi; } 函数prependZeronumber{ 如果数字<10&&number>=0{ 数字='0'+数字; } 返回号码; } 您可以使用,如果它本机不可用,您可以添加其polyfill,请参见以下内容:

如果String.prototype.padStart{ String.prototype.padStart=函数padStarttargetLength,padString{ targetLength=targetLength>>0;//如果为数字或将非数字转换为0,则为地板; padString=StringpadString | |“”; 如果此.length>targetLength{ 把这个还给我; } 否则{ targetLength=targetLength-此长度; 如果targetLength>padString.length{ padString+=padString.repeattargetLength/padString.length;//附加到原始文件以确保我们的长度超过需要的长度 } 返回padString.slice0,targetLength+Stringthis; } }; } 对于var i=7;i<14;i++{ console.lognew Stringi.padStart2,“0”;
}函数prepad num{return num<10?'0'+num:num.toString;}没有内置的afaik。@Shilly StringpadStart。@Xufox谢谢!但与IE不兼容我不知道这是可能的:这个解决方案的问题是它不适用于超过100'00'+i的数字。slice-2看起来很优雅!这是正确的,但基本上是一个测试。不清楚你说的是哪一个我遗漏了最后一个问题部分,所以现在检查谢谢我会支持萨尔曼的回答。
07  
08  
09  
10  
11  
12  
13
 for (var i = 7; i < 14; i++) {
            console.log(("00" + i).slice(-2));
        }
for (var i = 99; i < 104; i++) {
        console.log(("00" + i).slice(-3));
    }