I am writing a for loop which return numbers from 1 to 999. I want numbers to be returned in 3 digits i.e., from 001 to 999. How can I convert the returned value in 3 digit places?
Asked
Active
Viewed 5,649 times
-3
-
http://stackoverflow.com/questions/10073699/pad-a-number-with-leading-zeros-in-javascript – Tajinder Jul 01 '14 at 06:11
-
3You can use slice `("0" + "1").slice(-3) //returns 001` – Praveen Jul 01 '14 at 06:11
-
@RobG missed it. it should be like `("00" + 1).slice(-3)` – Praveen Jul 01 '14 at 06:39
-
1Be nice to a newbie... Take back the -1 please...!!! – Niks Aug 28 '14 at 11:01
1 Answers
2
A simple function to pad +ve integers is:
function pad(n, length) {
var len = length - (''+n).length;
return (len > 0 ? new Array(++len).join('0') : '') + n
}
pad(32, 6) // '000032'
pad(32, 1) // '32'
If you need to maintain the sign, or deal with decimals, a little more work is required.

RobG
- 142,382
- 31
- 172
- 209