Javascript 如何通过保持左边的“0”来保持n位数字?
我做了一个for循环,希望它能很好地对齐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(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));
}