for $format (qw{ %.6g %6.6g %6g %.6f %6.6f %6f}){ print "\n$format\n"; for (12344.99, 1.12345678, 0.000000123, 0.12345678, 123.45678, 123456, 12345.678901){ $str = sprintf "$format",$_; print length($str)." - '$str'\n"; } } #### %.6g 5 - '12345' 7 - '1.12346' 8 - '1.23e-07' 8 - '0.123457' 7 - '123.457' 6 - '123456' 7 - '12345.7' %6.6g 6 - ' 12345' 7 - '1.12346' 8 - '1.23e-07' 8 - '0.123457' 7 - '123.457' 6 - '123456' 7 - '12345.7' %6g 6 - ' 12345' 7 - '1.12346' 8 - '1.23e-07' 8 - '0.123457' 7 - '123.457' 6 - '123456' 7 - '12345.7' %.6f 12 - '12344.990000' 8 - '1.123457' 8 - '0.000000' 8 - '0.123457' 10 - '123.456780' 13 - '123456.000000' 12 - '12345.678901' %6.6f 12 - '12344.990000' 8 - '1.123457' 8 - '0.000000' 8 - '0.123457' 10 - '123.456780' 13 - '123456.000000' 12 - '12345.678901' %6f 12 - '12344.990000' 8 - '1.123457' 8 - '0.000000' 8 - '0.123457' 10 - '123.456780' 13 - '123456.000000' 12 - '12345.678901'