Tue Oct 26 20212 min read

Photo by John Salvino

1. Convert the number to a string.
2. Call the `padStart()` method to add zeros to the start of the string.
3. The `padStart` method returns a new string with the specified pad string applied from the start.
index.js
```Copied!```function addLeadingZeros(num, totalLength) {
}

// ๐๏ธ 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.

1. the target length for the string - the string gets padded with the pad string up to this length. This also takes into consideration decimal characters or a minus sign.
2. the pad string - the substring that should be applied to the beginning of the string.

To be able to use the `padStart` method, we had to convert the number to a string.

If you convert the padded string back into a number any of the leading zeros will get automatically dropped. This is because `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 you need to handle negative numbers, you need to add an `if` statement that add the minus sign after the leading zeros have been added.
index.js
```Copied!```function addLeadingZeros(num, totalLength) {
if (num < 0) {
const withoutMinus = String(num).slice(1);
}

}

``````

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.

To handle negative numbers, we just had to strip the minus, add the leading zeros and add the minus to the front of the string.

An alternative and perhaps simpler approach is to use the addition (+) operator.

index.js
```Copied!```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.