#! perl
use strict;
use warnings;
use bignum;
while (my $num = <DATA>)
{
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
Output:
float = 12345.6789, nearest int = 12346
float = 1_234_500_000_000_000_000_000_000.6789, nearest int = 12345000
+00000000000000001
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 = 123450
+0000000000000000042
float = 13, nearest int = 13
:-)
Athanasius <°(((>< contra mundum
|