|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Roman Terleev 2:5085/26.38 14 Feb 2001 16:26:51 To : *.* Subject : функция -------------------------------------------------------------------------------- Hарод, помогите с выявлением неправильно написанного. В общем есть необходимость преобразования чисел "байт" в читабельный вид. Hапример "1048576" как 1,000,000 байт. или "1073741824" как 1,000,000,000 байт. и тд. Я наварганил нижеследующий блок на перле, но работает с ошибками, не так считает как надо, тоесть исчезают мегабайты или гигабайты. А числа типа "1048576" показывает не как "1,000,000" а как 1,0,0 и тд...:) и надо помощи от вас, выявить где я не правильно что накатал. Для упрощения я воткнул всё в один скрипт. И так: >--========Здесь родился MB1.PL==========--< #!/usr/bin/perl -w my $totalmb = 1452325325; #тут собственно должны быть числа из базы my $printtotalinout = formatmb($totalmb); print "Total in bytes: $printtotalinout\n"; sub formatmb { my $bytes = shift; my $tb = 0; my $gb = 0; my $mb = 0; my $kb = 0; my $ret = ''; while ($bytes >= 1099511627776) { $bytes -= 1099511627776; $tb += 1; } while ($bytes >= 1073741824) { $bytes -= 1073741824; $gb += 1; } while ($bytes >= 1048576) { $bytes -= 1048576; $mb += 1; } while ($bytes >= 1024) { $bytes -= 1024; $kb += 1; } $ret = "$tb"."`" if $tb ne 0; $ret .= "$gb"."`" if $gb ne 0; $ret .= "$mb"."`" if $kb ne 0; $ret .= "$kb"."`".$bytes; return $ret; } >--==========Здесь помер MB1.PL===========--< Роман Терлеев aka Lost [-=Team Rave=-] [-=Team ACiD=-] [-=Team I Love квас=-] <ICQ UIN: 23990466> [-=Team Gabber=-] <e-mail: lost@FreeNET.uz> ... Детская эмалиpованная коляска с кpышкой --- Целовать курящую девушку - все равно что вылизывать пепельницу. (c)LosT * Origin: MessяwithяtheяBest,яDieяlikeяtheяRest! (c)Hacker's (2:5085/26.38) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/157173a8aa3c4.html, оценка из 5, голосов 10
|