Числа в форме 001 - PullRequest
       1

Числа в форме 001

5 голосов
/ 26 июля 2011

Существует ли специальное имя для чисел в формате 001. Например, число 20 будет 020, а 1 - 001.
Трудно найти Google, когда вы не знаете чьего-то имени!
Поскольку я уже напрасно трачу ваше время, знает ли кто-нибудь функцию для изменения номера в этом формате.

Ответы [ 7 ]

5 голосов
/ 26 июля 2011

Я думаю, что это обычно называют "дополнением" числа.

3 голосов
/ 26 июля 2011

Его называют левыми нулями.

2 голосов
/ 26 июля 2011

Ну, если вы говорите об этой нотации в контексте определенных языков программирования, 020 в отличие от 20 будет октальным, а не десятичным.

В противном случае вы имеете в виду заполнение.

2 голосов
/ 26 июля 2011

Это называется padding .

1 голос
/ 26 июля 2011

Быстрый поиск в Google показал этот хороший фрагмент кода для Number Padding: http://sujithcjose.blogspot.com/2007/10/zero-padding-in-java-script-to-add.html

function zeroPad(num,count)
{
  var numZeropad = num + '';
  while(numZeropad.length < count) {
    numZeropad = "0" + numZeropad;
  }
  return numZeropad;
}
0 голосов
/ 20 мая 2012

Попробуйте это:

Number.prototype.toMinLengthString = function (n) {
    var isNegative = this < 0;
    var number = isNegative ? -1 * this : this;
    for (var i = number.toString().length; i < n; i++) {
        number = '0' + number;
    }
    return (isNegative ? '-' : '') + number;
}
0 голосов
/ 26 июля 2011

Вы можете использовать простую функцию, такую ​​как:

function addZ(n) {
  return (n<10? '00' : n<100? '0' : '') + n;
}

или более надежную функцию, которая дополняет левую сторону любым количеством символов, которые вам нравятся, например

function padLeft(n, c, len) {
  var x = ('' + n).length;
  x = (x < ++len)? new Array(len - x) : [];
  return  x.join(c) + n
}
...