my $a = 1+0.25e-15;# hidden bit and last bit of mantissa: 1 print "Test : is int.? correct?\n"; print "a != int(a) : no yes\n" if $a != int($a); $d = abs($a - int($a)); print "abs(a-int(a) < 1e-15: yes no!\n" if $d<1e-15; print "abs(a-int(a) < 1e-40: yes ???\n" if $d<1e-40; print "abs(a-int(a) > 0 : no yes\n" if $d>0; printf("epsilon < %g required (here!)\n", $d); __END__ Test : is int.? correct? a != int(a) : no yes abs(a-int(a) < 1e-15: yes no! abs(a-int(a) > 0 : no yes epsilon < 2.22045e-16 required (here!)