in reply to shocking imprecision
FWIW Perl 6 fixes this problem by using rational numbers by default:
$ ./perl6 -e 'say (4.39 * 100).Int' 439 $ ./perl6 -e 'say 4.39.perl' 439/100 [download]