#! perl use strict; use warnings; use bignum; while (my $num = ) { chomp $num; print 'float = ', $num, ', nearest int = ', int ($num + 0.5), "\n"; } __DATA__ 12345.6789 1_234_500_000_000_000_000_000_000.6789 10.49 11.5 12.500000001 1_234_500_000_000_000_000_000_042.499999 13 #### float = 12345.6789, nearest int = 12346 float = 1_234_500_000_000_000_000_000_000.6789, nearest int = 1234500000000000000000001 float = 10.49, nearest int = 10 float = 11.5, nearest int = 12 float = 12.500000001, nearest int = 13 float = 1_234_500_000_000_000_000_000_042.499999, nearest int = 1234500000000000000000042 float = 13, nearest int = 13