Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: OT: Integer rounding?

by Roy Johnson (Monsignor)
on Mar 22, 2004 at 20:21 UTC ( [id://338752]=note: print w/replies, xml ) Need Help??


in reply to OT: Integer rounding?

You might get some help from this Q&A.

Update:
Doing it by hand, I'd do:

sub round_to_nearest { my ($n, $scale) = @_; int(($n + $scale/2)/$scale) * $scale; }

The PerlMonk tr/// Advocate

Replies are listed 'Best First'.
Re: Re: OT: Integer rounding?
by flyingmoose (Priest) on Mar 22, 2004 at 21:43 UTC
    A few sources:

    perlfaq4

    sub round { my($number) = shift; return int($number + .5); }

    perldoc -f int

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

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://338752]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (4)
As of 2024-04-25 18:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found