Borislav Hadzhiev
Tue Oct 26 2021·2 min read
Photo by John Salvino
To add leading zeros to a number:
padStart()
method to add zeros to the start of the string.padStart
method returns a new string with the specified pad string
applied from the start.function addLeadingZeros(num, totalLength) { return String(num).padStart(totalLength, '0'); } console.log(addLeadingZeros(3, 2)); // 👉️ "03" console.log(addLeadingZeros(3, 3)); // 👉️ "003" console.log(addLeadingZeros(3, 4)); // 👉️ "0003" console.log(addLeadingZeros(100, 2)); // 👉️ "100" // 👇️ Alternatively, simply use the Addition (+) operator const num = '00' + 3; console.log(num); // 👉️ "003"
We passed the following 2 parameters to the String.padStart method.
To be able to use the padStart
method, we had to convert the number to a
string.
003 === 3
. JavaScript doesn't keep insignificant leading zeros around.If the length of the string exceeds the provided target length, the entire
string gets returned from the padStart
method.
if
statement that adds the minus sign after the leading zeros have been added.function addLeadingZeros(num, totalLength) { if (num < 0) { const withoutMinus = String(num).slice(1); return '-' + withoutMinus.padStart(totalLength, '0'); } return String(num).padStart(totalLength, '0'); } console.log(addLeadingZeros(3, 2)); // 👉️ "03" console.log(addLeadingZeros(-3, 3)); // 👉️ "-003"
We added an if
statement to check if a negative number is provided to the
function.
Note that we deliberately don't include the minus sign in the target length for the new string.
An alternative and perhaps simpler approach is to use the addition (+) operator.
const positive = '00' + 5; console.log(positive); // 👉️ "005" const negative = '-' + '00' + String(-5).slice(1); console.log(negative); // 👉️ -005
We used the exact same approach to handle negative numbers as we did with the
padStart
method.