PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : eine zahl runden mit perl ?



lun4trix
10-11-2004, 14:49
und noch ein problem :((

wie kann ich eine zahl sagen wir die cpu geschwindigkeit ( da sie ja immer 2079,32 oder 2079,45 usw. sich ändert ...) runden lassen ?? .. auf 2000 oder 2100 ??

baere
10-11-2004, 16:21
abrunden auf die nächst-tiefere Hunderter-Zahl:
my $zahl = 2079;
$zahl = ((int) $zahl / 100) * 100;

auf die nächst höhere Hunderter-Zahl:
my $zahl = 2079;
$zahl = ($zahl % 100 == 0) ? $zahl : (((int) $zahl / 100) * 100) + 100;

Joghurt
10-11-2004, 16:40
auf die nächst höhere Hunderter-ZahlDas geht auch einfacher:

#Abrunden:
$zahl = (100 * int ($zahl/100 ));
#Aufrunden:
$zahl = (100 * int ($zahl/100 + 0.99));

tomes
14-11-2004, 18:07
Ich benutze fuer Runden immer Math::Round

tom@tom:~> perl -e 'use Math::Round;print nearest(100, 2067.5967)."\n";'
2100
oder

tom@tom:~> perl -e 'use Math::Round;print nearest(100, 2007.5967)."\n";'
2000

tomes

lun4trix
15-11-2004, 12:32
danke euch es hat wunderbar funkt. :D