как добавить ведущие нули к числам в javascript

Аватар пользователя Ivan Gagarinov
Ivan Gagarinov
22 декабря 2024

Метод padStart() добавляет ведущие символы (в данном случае нули) к строке до достижения заданной длины:

function addLeadingZeros(num, totalLength) {
    return num.toString().padStart(totalLength, '0');
}

// Примеры использования
console.log(addLeadingZeros(5, 3));     // "005"
console.log(addLeadingZeros(123, 5));   // "00123"
console.log(addLeadingZeros(42, 4));    // "0042"

Если вы хотите больше контроля над процессом или предпочитаете не использовать встроенные методы, можно реализовать логику с использованием условных операторов:

function addLeadingZeros(num, totalLength) {
    let strNum = num.toString();
    while (strNum.length < totalLength) {
        strNum = '0' + strNum;
    }
    return strNum;
}

// Примеры использования
console.log(addLeadingZeros(5, 3));    // "005"
console.log(addLeadingZeros(123, 5));  // "00123"
console.log(addLeadingZeros(42, 4));   // "0042"

Если вы используете lodash, то можно воспользоваться функцией _.padStart.

import _ from 'lodash';

function addLeadingZeros(num, totalLength) {
    return _.padStart(num.toString(), totalLength, '0');
}

// Примеры использования
console.log(addLeadingZeros(5, 3));    // "005"
console.log(addLeadingZeros(123, 5));  // "00123"
console.log(addLeadingZeros(42, 4));   // "0042"

Если вам нужно отображать числа в формате строки, вы можете использовать шаблонные строки с необходимыми условными выражениями:

function addLeadingZeros(num, totalLength) {
    return `${'0'.repeat(totalLength - num.toString().length)}${num}`;
}

// Примеры использования
console.log(addLeadingZeros(5, 3));    // "005"
console.log(addLeadingZeros(123, 5));  // "00123"
console.log(addLeadingZeros(42, 4));   // "0042"
0 0