use v5.12; use warnings; $a= 1-1e-16; printf "%.16f\n",$a; printf "%.16f\n",("".$a); #### 0.9999999999999999 1.0000000000000000