linux-l: runden in Perl

Jens Dreger jens.dreger at physik.fu-berlin.de
Mi Nov 15 00:40:50 CET 2000


On Tue, Nov 14, 2000 at 10:54:07PM +0100, Ulrich Wiederhold wrote:
> Hallo,
> ich möchte nach einer Division das Ergebnis runden.
> Gibt es dazu eine function? UNter Pascal gabs mal "round".
> Konnte in "programmieren in perl" und perldoc perlfunc nix finden, wenn
> ich nach runden oder round gesucht habe!

Dann funktioniert Deine Suchfunktion nicht zuverlaessig...

--8<-----------------

perldoc perlfunc

 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().

--8<----------------

perldoc POSIX
[...]
ceil    This is identical to the C function ceil().
[...]
floor   This is identical to the C function floor().

--8<-----------------

man floor
man ceil

Gruss,

Jens.







Mehr Informationen über die Mailingliste linux-l