in reply to Re: Round down to '.5' or '.0'in thread Round down to '.5' or '.0'
use POSIX qw( ceil ); my $rounded = ceil($num*2)/2; [download]
Update: Oops, the above didn't work for negative numbers.
use POSIX qw( ceil ); my $rounded = ($num>=0 ? +1 : -1) * ceil(abs($num)*2)/2; [download]
or
use POSIX qw( ceil floor ); my $rounded = ($num >= 0 ? ceil($num*2)/2 : floor($num*2)/2 ); [download]