the "general" floating point format

Ian Lance Taylor
Mon Jan 2 04:15:00 GMT 2006

Anthony Shipman <> writes:

> Is there a precise specification of how printf() decides whether to use the 
> fixed point or scientific format when the format is "general"?

I assume you are referring to %g.  The answer is yes.  From the
GNU/Linux man page, for example (man 3 printf):

    The double argument is converted in style f or e (or F or E for G
    conversions).  The precision specifies the number of significant
    digits.  If the precision is missing, 6 digits are given; if the
    precision is zero, it is treated as 1.  Style e is used if the
    exponent from its conversion is less than -4 or greater than or
    equal to the precision.  Trailing zeros are removed from the
    fractional part of the result; a decimal point appears only if it
    is followed by at least one digit.


More information about the Gcc-help mailing list