On Mon, Dec 22, 2003 at 11:17:03AM -0800, Perl wrote:
> i know what " %9.1f" would have done in this case.
> but how does " %9.2g" round off ?

The *rounding* works like "%f", but there are some other
differences.

  a) the precision (".2") applies to significant digits, not
     digits after the decimal point

     % perl -e 'printf "%.2g\n", 2.25'
     2.2

  b) trailing zeros will be suppressed

     % perl -e 'printf "%.2g\n", 2.05'
     2

  c) the output will be given in scientific notation if there
     are more digits to the left of the decimal point than the
     specified number of significant digits

     % perl -e 'printf "%.2g\n", 225'
     2.2e+02

Perl doesn't actually implement %g itself, so check your
system's sprintf(3) or gconvert/gcvt manpages for a more
precise description.

And incidentally, when you do:

     % perl -le 'print 100/3'
     33.3333333333333

Perl uses "%g" (or gcvt()) to format the floating point value:

     % perl -le 'print sprintf "%.15g", 100/3'
     33.3333333333333

-- 
Steve

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to