Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Есть ли функция, делающая однозн. числа двузначными?) Т.е. "1" => "01" (https://javascript.ru/forum/misc/10618-est-li-funkciya-delayushhaya-odnozn-chisla-dvuznachnymi-t-e-1-%3D-01-a.html)

FirstFrost 12.07.2010 20:29

Есть ли функция, делающая однозн. числа двузначными?) Т.е. "1" => "01"
 
Подкажите плиз, есть ли функция на JavaScript, делающая однозн. числа двузначными?) Т.е. "1" => "01", "9" => "09" :help:

exec 12.07.2010 20:41

function t(a) {
return '0' + a;
}

alert(t(8));

FirstFrost 12.07.2010 20:44

Спасибо))

MeFCorvi 12.07.2010 20:51

Только нужно учесть, что на отрицательных числах и на неоднозначных работать не будет)

KamaZz 13.07.2010 14:13

можно добавить проверку.
function t(a) {
   if (a.length = 1)
      return '0'  + a;
   else
      alert('Error');
}
alert(t(8));

exec 13.07.2010 14:17

KamaZz, не путайте оператор присваивания и оператор сравнения. Да и length у чисел нет.

KamaZz 13.07.2010 14:36

Оператор присваивания поставил специально, т.к. length от "-1" уже равняеться двойке.
Разве при вызове через alert число не станет строкой?

Прошу прощения, возможно я не прав.

Kolyaj 13.07.2010 14:51

Цитата:

Сообщение от KamaZz
Оператор присваивания поставил специально, т.к. length от "-1" уже равняеться двойке.
Разве при вызове через alert число не станет строкой?

Очень высокая концентрация бреда в двух предложениях.

KamaZz 13.07.2010 15:13

По моему третее предложение компенсирует вероятную бредоносность.
Вместо того что-бы язвить, могли-бы и обьяснить что да как...

Т.к. я ясно дал понять что мой уровень знания javascript весьма низок.

рони 13.07.2010 15:15

дополняет любое требуемое количество нулей
String.prototype.zero = Number.prototype.zero = function (x) {
    var str = String(this);
    while (str.length < x) str = '0' + str;
    return str;
}
var t = 77;

alert((1).zero(4) + " " + "6".zero(2) + " " + t.zero(3));

Kolyaj 13.07.2010 15:27

Цитата:

Сообщение от KamaZz
По моему третее предложение компенсирует вероятную бредоносность.

Бред или есть, или его нет.

Цитата:

Сообщение от KamaZz
Вместо того что-бы язвить, могли-бы и обьяснить что да как...

Понимаете, бывают ошибки в рассуждениях, тогда их можно поправить и объяснить. А бывает, что человек такую чушь несёт, что и возразить нечего, тогда остаётся только пожать плечами, пробормотав "Бред какой-то". Хотя это относится больше к первому предложению.

Цитата:

Сообщение от KamaZz
Разве при вызове через alert число не станет строкой?

Число у вас передаётся в функцию t, а не в alert.

B@rmaley.e><e 13.07.2010 16:51

рони, так красивей:)
String.prototype.zero = Number.prototype.zero = function (x) {
    var str = String(this);
    x -= str.length - 1;
    return (x > 0 ? new Array(x).join('0') : '') + str;
}
var t = 77;

alert([(1).zero(4), "6".zero(2), t.zero(3), 321..zero(2)].join(' '));

PeaceCoder 13.07.2010 19:09

Цитата:

Сообщение от MeFCorvi
Только нужно учесть, что на отрицательных числах и на неоднозначных работать не будет)

...

with-love-from-siberia 13.07.2010 19:24

Цитата:

Сообщение от MeFCorvi (Сообщение 63405)
Только нужно учесть, что на отрицательных числах и на неоднозначных работать не будет)

В настоящее время мне, как и подавляющему большинству, известно понятие отрицательных чисел. Но второе...

Дайте, пожалуйста, четкое и непротиворечивое понятие термина неоднозначные числа.

MeFCorvi 08.02.2012 17:38

Цитата:

Дайте, пожалуйста, четкое и непротиворечивое понятие термина неоднозначные числа.
В данном случае я использовал терминологию автора (см. первый пост). Однозначное число в понимании автора - это число состоящее из одной цифры. Соответственно неоднозначное в таком случае - это число состоящее из N цифр, где N != 1.

Да, я понимаю, что полтора года уже прошло, но я случайно набрел и решил восстановить справедливость)


Часовой пояс GMT +3, время: 21:00.