K@rl: Auf- und abrunden

Beitrag lesen

Wie Beate schon angemerkt hat, paßt

$zahl = int($zahl + 0.5) - 0.5;

wohl nicht ganz ...

besser (aber noch immer nicht ideal) ist
$zahl = int($zahl + 0.5);
das ist dann kaufmännisches Runden

Als Wort zum Sonntag noch ein Zitat aus "man perlfunc":
<quote>
int EXPR
int
Returns the integer portion of EXPR. If EXPR is omitted, uses $_. You should not use this function for rounding: one because it truncates towards 0, and two because machine representations of floating point numbers can sometimes produce counterintuitive results. For example, int(-6.725/0.025) produces -268 rather than the correct -269; that's because it's really more like -268.99999999999994315658 instead. Usually, the sprintf(), printf(), or the POSIX::floor and POSIX::ceil functions will serve you better than will int().
</quote>
Prägnanter kann man es nicht ausdrücken ;-)

mit herzlichem RTFM
    K@rl