http://www.perlmonks.org?node_id=880245


in reply to Re^4: How to use the int-function?
in thread How to use the int-function?

If you're going to use printf to round then you have to be aware that it uses the Round half to even method of rounding. I've been bit by that before.

perl -e 'foreach my $i ( 0.5, 1.5, 2.5, 3.5 ) { printf("$i -> %.0f\n", $i) }'
0.5 -> 0 1.5 -> 2 2.5 -> 2 3.5 -> 4

Without resorting to another module to round for you, you probably want use int() something like this (being careful to adjust the rounding value to match your circumstances).

perl -e 'foreach my $i ( 1.155, 1.255, 1.355, 1.455 ) { print $i, " -> " , int($i * 100 + 0.5001)/100 . "\n" }'
1.155 -> 1.16 1.255 -> 1.26 1.355 -> 1.36 1.455 -> 1.46