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()
.