### Re: Best way to round a number.

by ajam (Acolyte)
 on Oct 25, 2012 at 00:32 UTC ( #1000739=note: print w/replies, xml ) Need Help??

in reply to Best way to round a number.

It can be done with less division.

Notice 0, 1 and 2 round to 0. While 3 and 4 round up to 5. Using this knowledge, examine the number modulus 5. If its below 3 round down, otherwise round up.

Also I agree with the other comment, your examples are a bit off. For example both 33 and 36 round to 35.

```use warnings;
use strict;

sub round5 {
my (\$number) = @_;

my \$remainder = \$number % 5;

if (\$remainder < 3) {
return \$number - \$remainder;
} else {
return \$number - \$remainder + 5;
}
}

for (0..10) {
print "\$_ rounded is " . round5(\$_) . "\n";
}

Create A New User
Node Status?
node history
Node Type: note [id://1000739]
help
Chatterbox?
 [chacham]: Re: Re: pattern matching -- feeling stoopit a poll idea about centrists, is +8 -5, used to be +6/-6 how apropos :)is +8 [chacham]: [chacham]: ooh, late, nighty nite everybody [jdporter]: thanks, 1nickt1

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (14)
As of 2017-05-24 21:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
My favorite model of computation is ...

Results (186 votes). Check out past polls.