http://www.perlmonks.org?node_id=74826


in reply to Using (s)printf()

I keep
http://www.perlmonks.org/index.pl?node=Using%20(s)printf()&lastnode_id=954
bookmarked, since it is by far the most helpful s/printf resource I have found to date.

So: having shmoozed, care to take a question ? -) I have been working with the folks who are rewriting Math::BigFloat, and we have come to a (partial) disagreement. I am of the opinion that zero should be represented, in scientific notation, with exponent == 0; i.e. by something like '0e0'. This belief is at least in part due to the fact that every printf I've encountered renders

printf '%e\n' 0

as something like

0.000000e+00

Does this representation seem reasonable to you? Is this behavior specified anywhere?
TIA, Tom_Roche@ncsu.edu

Replies are listed 'Best First'.
(tye)Re: Using (s)printf()
by tye (Sage) on Apr 23, 2001 at 23:36 UTC

    Quoting the article you like so well:

    %g same as %e or %f, whichever printf thinks is best.
    then note that
    printf "%g", 0
    produces simply "0" so 'printf thinks "0" is best'. (:

            - tye (but my friends call me "Tye")