"Flemming Hansen" <dsl34257@vip.cybercity.dk> writes:
> $online_time = $online_time / 3600;
> $online_time = "$online_time timer";
>
> print $online_time;
>
> hvordan kan jeg begrænse resultatet til evt. 1 eller 2 decimaler? Eller
Du kan bruge printf eller sprintf.
printf "%0.2f timer", $online_timer;
> måske hvordan kan jeg lave resultatet om til integer? Eller hvis jeg ikke er
> til besvær hvordan kan jeg vise resultatet som f.eks. 2 timer 3 minutter og
> 4 sekunder?
Følgende ser ikke helt forkert ud og kan tilrettes til dine ønsker:
#!/usr/bin/perl
sub sec2tid {
$sec = $_[0];
$min = $sec / 60; $sec %= 60;
$timer = $min / 60; $min %= 60;
$dage = $timer / 24; $timer %= 24;
return ($dage,$timer,$min,$sec);
}
printf "%d dage, %d timer, %d minutter og %d sekunder\n", sec2tid($_) for (10, 100, 1000, 1000000, 1000000000);
___END___
(Jeg mente at et megasekund var tættere på 14 dage)
--
Peter Makholm | I laugh in the face of danger. Then I hide until
peter@makholm.net | it goes away
http://hacking.dk | -- Xander