嗨我有一个需要6个数字的计数器
所以这可能是
000456 001250 015554
等
但问题是我得到的数字为456或1250,然后我需要将其转换为000456或001250.
我该怎么做?
由于
丹
答案 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;
};