Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : alexander smishlajev                 2:5100/14.8    22 Jun 2000  09:55:22
 To : Maxim Y. Zinyakov
 Subject : Вывод 1 234 567 890,   вместо 1234567890 ???
 -------------------------------------------------------------------------------- 
 
 
 monday june 19 2000, Maxim Y. Zinyakov writes to Vadim Sadretdinov:
 
  VS>> Hе подскажите ли как сделать вывод числа с разделением на триады,
  VS>> т.е. выводить не так 1234567890, а вот так 1 234 567 890
 
  MZ> === Cut ===
  MZ> #!/usr/bin/perl
  MZ> $a="1234567890";
  MZ> while(length($a)){
  MZ>     $b=substr($a,-3,3)." ".$b;
  MZ>     $a=substr($a,0,length($a)-3);
  MZ>     };
  MZ>     print "$b\n"
  MZ> === Cut ===
 
 класс!  просили не подсказывать, но вот еще вариант:
 
 === begin cut ===
 $a ="1234567890";
 $b ='';
 sub c {
   $d =pack('aaa', reverse @_);
   return " $d";
 }
 $e =length($a);
 @f =();
 CHAR: while(1) {
   $e =$e -1;
   if ($e <0) {
     $b =join('', @f, $b);
     last CHAR;
   };
   $g =substr($a, $e, 1);
   push @f, $g;
   $h =length($a) -$e;
   while ($h >0) { $h -=3 };
   do {
     $b =sprintf('%s%s', c(@f), $b);
     @f =();
   } unless ($h !=0);
 };
 
 print $b;
 
 1;
 ==== end cut ====
 
 правда, он иногда спереди лишний пробел добавляет, но зато сзади не добавляет.
 
 желаю здравствовать,
 alex.
 
 --- GoldED 3.0.1
  * Origin: аквариум с плавающей точкой (FidoNet 2:5100/14.8)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Вывод 1 234 567 890, вместо 1234567890 ???   Vadim Sadretdinov   19 Jun 2000 13:11:22 
 Вывод 1 234 567 890, вместо 1234567890 ???   Maxim Y. Zinyakov   19 Jun 2000 16:26:30 
 Вывод 1 234 567 890, вместо 1234567890 ???   Leonid Nikolaev   20 Jun 2000 09:18:53 
 Вывод 1 234 567 890, вместо 1234567890 ???   alexander smishlajev   22 Jun 2000 09:55:22 
 Re: Вывод 1 234 567 890, вместо 1234567890 ???   Konstantin Tokar   19 Jun 2000 17:16:57 
 Re: Вывод 1 234 567 890, вместо 1234567890 ???   Alexander Gaiduk   19 Jun 2000 18:09:45 
 Вывод 1 234 567 890, вместо 1234567890 ???   Albert N. MICHEEV   19 Jun 2000 18:13:59 
 Вывод 1 234 567 890, вместо 1234567890 ???   Oleg Bakiev   19 Jun 2000 19:08:29 
Архивное /ru.perl/224353951e2b7.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional