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