11.4 Precision

The meaning of “precision” depends on the format type. With ‘g’
or ‘G’, it specifies the number of significant digits (like the
--digits option); with ‘e’, ‘E’, ‘f’, or
‘F’, it specifies the maximum number of digits to be shown after
the decimal point.

With the ‘g’ and ‘G’ format types, trailing zeros are
suppressed, so the results may sometimes have fewer digits than the
specified precision (as indicated above, the ‘#’ flag causes
trailing zeros to be displayed).

The default precision is 6, so ‘%g’ is equivalent to ‘%.6g’,
and would show the output to six significant digits. Similarly,
‘%e’ or ‘%f’ would show the output with six digits after the
decimal point.

The C printf() function allows a precision of arbitrary size, whether or
not all of the digits are meaningful. With most compilers, the maximum
internal precision with units is 15 decimal digits (or 13
hexadecimal digits).
With the --digits option, you are limited
to the maximum internal precision; with the --output-format
option, you may specify a precision greater than this, but it may not be
meaningful. In some cases, specifying excess precision can result in
rounding artifacts. For example, a pound is exactly 7000 grains, but
with the format ‘%.18g’, the output might be

In this case the displayed value includes a series of digits that represent the
underlying binary floating-point approximation to 1/3 but are not
meaningful for the desired computation.
In general, the result with excess precision is system dependent.
The precision affects only the display of numbers; if a result
relies on physical constants that are not known to the specified
precision, the number of physically meaningful digits may be less than
the number of digits shown.

See the documentation for printf() for more detailed descriptions of the
format specification.

The --output-format option is incompatible with the
--exponential or --digits options; if the former is
given in combination with either of the latter, the format is controlled
by the last option given.