Thread Floor auch für Minuswerte? (13 answers)
Opened by silbersteine at 2004-08-05 02:03

silbersteine
 2004-08-05 02:03
#85379 #85379
User since
2003-08-18
27 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo,

ich habe eine kleine Subroutine, die aus einem Minutenwert eine Stundenangabe erzeugen soll (also z.B. "4:35"). Das funktioniert auch ganz gut, allerdings nur bei positiven Werten. Übergebe ich allerdings einen negativen Wert (z.B. -440 Minuten), dann gibt die Routine statt "-7:20" dann "-8:40" aus. Klar: Die Funktion Floor rundet generell ab. Ich frage mich jetzt gerade, wie ich das am Elegantesten löse, ohne mehrere If-Verschachtelungen zu bauen. Gibt es vielleicht eine Rundungsfunktion, die auch Minuswerte berücksichtigt und dann entsprechend nach oben rundet (aber eben bei positiven Werten nach unten)?

Code: (dl )
1
2
3
4
5
6
7
sub clock {
my $minutes = shift;
my $hh = floor($minutes/60);
my $rest = $minutes - $hh*60;
if (length($rest) == 1) {$rest = "0".$rest}
return "$hh:$rest";
}
Viele Grüße aus Calberlah

Der SilberStein

<a href="http://www.skriptoase.de/">www.skriptoase.de</a>

# "It's all very perlish" (L.Wall)

View full thread Floor auch für Minuswerte?