Подтвердить что ты не робот

Форматировать число, ровно два по длине?

У меня есть целое число, которое меньше 100 и печатается на HTML-странице с JavaScript. Как форматировать целое число так, чтобы оно составляло ровно две цифры? Например:

01
02
03
...
09
10
11
12
...

4b9b3361

Ответ 1

function pad(d) {
    return (d < 10) ? '0' + d.toString() : d.toString();
}

pad(1);  // 01
pad(9);  // 09
pad(10); // 10

Ответ 2

String("0" + x).slice(-2);

где x - ваш номер.

Ответ 3

Просто используйте следующую короткую функцию, чтобы получить нужный результат:

function pad2(number) {
    return (number < 10 ? '0' : '') + number
}

Ответ 5

Прямой способ ввода числа влево в Javascript - это вычисление числа цифр по базе 10 журналов. Например:

function padLeft(positiveInteger, totalDigits) {
  var padding = "00000000000000";
  var rounding = 1.000000000001;
  var currentDigits = positiveInteger > 0 ? 1 + Math.floor(rounding * (Math.log(positiveInteger) / Math.LN10)) : 1;
  return (padding + positiveInteger).substr(padding.length - (totalDigits - currentDigits));
}

Коэффициент округления устраняет проблему, заключающуюся в том, что нет возможности получить точный журнал степеней 10, например Math.log(1000)/Math.LN10 == 2.9999999999999996 Конечно, следует добавить проверку параметров.

Ответ 6

// Return a string padded
function FormatMe(n) {
   return (n<10) ? '0'+n : n;
}

Ответ 7

function padLeft(a, b) {
    var l = (a + '').length;
    if (l >= b) {
        return a + '';
    } else {
        var arr = [];
        for (var i = 0; i < b - l ;i++) {
            arr.push('0');
        }
        arr.push(a);
        return arr.join('');
    }
}

Ответ 8

Я использую регулярные выражения для форматирования моего времени, таких как

const str = '12: 5 '

const final = str.replace(/\ d+/g, (совпадение, смещение, строка) => совпадение <10? '0' + совпадение: совпадение)

выходной: 12:05

Ответ 9

Я обычно использую эту функцию.

function pad(n, len) {
    let l = Math.floor(len)
    let sn = '' + n
    let snl = sn.length
    if(snl >= l) return sn
    return '0'.repeat(l - snl) + sn
}


Пример использования

pad(1, 1)    // ==> returns '1' (string type)
pad(384, 5)  // ==> returns '00384'
pad(384, 4.5)// ==> returns '0384'
pad(5555, 2) // ==> returns '5555'

Ответ 10

Улучшенная версия предыдущего ответа:

var result = [...Array(12)].map((_, i) => zeroFill(i + 1, 2));

function zeroFill(num, size) {
  var s = num + '';
  while (s.length < size) s = '0${s}';
  return s;
}
console.log(result)