Forum Webscript.Ru

Программирование => Perl => Тема начата: Forza от 08 Сентября 2004, 19:13:05

Название: добавление нулей в начало числа
Отправлено: Forza от 08 Сентября 2004, 19:13:05
Как при выводе чисел автоматически добавлять в их начало нули до необходимого количества цифр. Т.е. если такое количество цифр - 5, то "23" выведется как "00023".

p.s. Понятно, что такую фишку можно легко написать самому, но почему бы не воспользоваться чем-то стандартным, если оно уже есть?
Название: добавление нулей в начало числа
Отправлено: Forza от 08 Сентября 2004, 21:54:49
Мда, вот что значит "a hard day\'s night"(c). Наверное, совсем запарился на работе, раз такие глупые вопросы задаю. :insane: Это всё легко реализуется самим в одну строчку. Например:
my ($a,$number_of_digits) = (23,5);
print \'0\' x ($number_of_digits - $length($a)) . $a
   if $number_of_digits > $length($a);

Тему можно и нужно закрывать.
Название: добавление нулей в начало числа
Отправлено: Green Kakadu от 08 Сентября 2004, 23:15:18
printf "%5d", 23;
Название: добавление нулей в начало числа
Отправлено: Forza от 08 Сентября 2004, 23:55:47
Цитировать
Green Kakadu:
printf "%5d", 23;

А вот это совсем не в тему, ибо так выведется "   23" (три пробела перед "23"), а мне надо "00023".
Название: добавление нулей в начало числа
Отправлено: Green Kakadu от 09 Сентября 2004, 00:17:49
2Forza
исправляюсь:
printf "%05d", 23;

рез-т: 00023 как я понял это нужно?
Название: добавление нулей в начало числа
Отправлено: Forza от 09 Сентября 2004, 10:12:23
Цитировать
Green Kakadu:
рез-т: 00023 как я понял это нужно?


Да. То, что надо. Спасибо.
Название: добавление нулей в начало числа
Отправлено: Forza от 22 Сентября 2004, 14:17:04
Цитировать
Green Kakadu:
printf "%05d", 23;


А если у меня количество разрядов заранее неизвестно и в ходе работы программы хранится в переменной?
Это уже надо не для вывода нулей, а для вывода таблицы в текстовом виде, т.е. что-то типа printf ("%-40s",$string). Как тут вместо "40" поставить значение переменной?
Название: добавление нулей в начало числа
Отправлено: commander от 22 Сентября 2004, 14:25:11
Forza
$var=40;
printf ("%-".$var."s", $string);
Название: добавление нулей в начало числа
Отправлено: Forza от 22 Сентября 2004, 14:27:41
commander, спасибо.
[OFF]А вообще-то я должен был сам догадаться, блин.[/OFF]