$ perl -E'say sprintf("%.100g", 0.15)' 0.14999999999999999 $ perl -E'say sprintf("%.100f", 0.15)' 0.1499999999999999944488848768742172978818416595458984375000000000000000000000000000000000000000000000 $ perl --version | head -3 This is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-linux-thread-multi (with 40 registered patches, see perl -V for more detail)