6.1.2 Flag Specifiers

The printf conversion flags are enabled by specifying one or more of the following characters, which can appear in any order, as described in the following table.

Flag Specifier



The integer portion of the result of a decimal conversion (%d, %f, %g, %G, %i, or %u) is formatted with thousands of grouping characters by using the non-monetary grouping character. Some locales, including the POSIX C locale, do not provide non-monetary grouping characters for use with this flag. (The relevant locale is the locale in which dtrace is running.)


The result of the conversion is left-justified within the field. The conversion is right-justified if this flag is not specified.


The result of signed conversion always begins with a sign (+ or -). If this flag is not specified, the conversion begins with a sign only when a negative value is converted.


If the first character of a signed conversion is not a sign or if a signed conversion results in no characters, a space is placed before the result. If the space and + flags both appear, the space flag is ignored.


The value is converted to an alternate form if an alternate form is defined for the selected conversion. The alternate formats for conversions are described along with the corresponding conversion.


For d, e, E, f, g, G, i, o, u, x, and X conversions, leading zeroes (following any indication of sign or base) are used to pad the field width and no space padding is performed. If the 0 and - flags both appear, the 0 flag is ignored. For d, i, o, u, x and X conversions, if a precision is specified, the 0 flag is ignored. If the 0 and ' flags both appear, the grouping characters are inserted before the zero padding.