money_format() returns a
formatted version of
number. This function wraps the C library function
strfmon(), with the difference that
this implementation converts only one number at a time.
The format specification consists of the following
sequence:
Flags. One or more of the optional flags below
can be used:
The character =
followed by a a (single byte) character f to be used as the numeric
fill character. The default fill character is
space.
Disable the use of grouping characters (as
defined by the current locale).
Specify the formatting style for positive and
negative numbers. If + is
used, the locale's equivalent for + and - will
be used. If ( is used,
negative amounts are enclosed in parenthesis. If no
specification is given, the default is +.
Suppress the currency symbol from the output
string.
If present, it will make all fields
left-justified (padded to the right), as opposed to
the default which is for the fields to be
right-justified (padded to the left).
Field width.
A decimal digit string specifying a minimum
field width. Field will be right-justified unless the
flag - is used. Default
value is 0 (zero).
Left precision.
The maximum number of digits (n) expected to the left of
the decimal character (e.g. the decimal point). It is
used usually to keep formatted output aligned in the
same columns, using the fill character if the number
of digits is less than
n. If the number of actual digits is bigger
than n, then this
specification is ignored.
If grouping has not been suppressed using the
^ flag, grouping separators
will be inserted before the fill characters (if any)
are added. Grouping separators will not be applied to
fill characters, even if the fill character is a
digit.
To ensure alignment, any characters appearing
before or after the number in the formatted output
such as currency or sign symbols are padded as
necessary with space characters to make their
positive and negative formats an equal length.
A period followed by the number of digits (p) after the decimal
character. If the value of
p is 0 (zero), the decimal character and
the digits to its right will be omitted. If no right
precision is included, the default will dictated by
the current local in use. The amount being formatted
is rounded to the specified number of digits prior to
formatting.
The number is formatted according to the
locale's international currency format (e.g. for the
USA locale: USD 1,234.56).
The number is formatted according to the
locale's national currency format (e.g. for the de_DE
locale: DM1.234,56).
Returns the the %
character.
注: The LC_MONETARY category of the locale settings, affects the behavior of this function. Use setlocale() to set to the appropriate default locale before using this function.
Characters before and after the formatting string will be returned unchanged.
See also: setlocale(),
number_format(),sprintf(), printf()
and
sscanf().