On Mon, 2 Jan 2006 02:48 pm, Ian Lance Taylor wrote: > Anthony Shipman <als@xxxxxxxxxxxx> 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. > > Ian Oh, I missed that bit in the middle. Is that the C standard or just how Gnu C does it? Do you know if libstdc++ uses exactly the same specification or perhaps delegates to printf()? (I started off searching for how the C++ "general" format was defined). -- Anthony Shipman Mamas don't let your babies als@xxxxxxxxxxxx grow up to be outsourced.