在jquery / js中的数字前加0!

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

所以这可能是

000456 001250 015554

等等

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

我该怎么做呢?

谢谢

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

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

允许更大的数字:

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

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

 function pad(n, len) { s = n.toString(); if (s.length < len) { s = ('0000000000' + s).slice(-len); } return s; } 
 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(); } 

这应该这样做:

 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 

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

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