说明
$format
, float $number
) : stringmoney_format() 返回格式化好的 number
版本。 此函数包装了 C 函数库中的 strfmon(),不同之处是:此实现每次只能转化一个数字。
参数
format
-
格式字符串由以下几部分组成:
-
单个 % 字符
-
可选的标记(flags)
-
可选的字段宽度
-
可选的,左侧精度
-
可选的,右侧精度
-
必选的,单个转化字符
标记(Flags)
可选多个标记,分别是:
- =f
-
字符:=,并紧跟一个字符(单字节) f,用于数字填充。默认的填充字符是空格。
- ^
-
禁用分组字符(比如金额中的逗号。在本地区域设置 locale 中定义)。
- + or (
-
正负数字的格式。使用 +,将使用区域设置(locale)中相当于 + 和 - 的符号。 如果使用 (,负数将被圆括号围绕。不设置的话,默认为 +。
- !
-
不输出货币符号(比如 ¥)。
- -
-
有这个符号的时候,将使字段左对齐(填充到右边),默认是相反的,是右对齐的(填充到左边)。
字段宽度
- w
-
十进制数值字符串的宽度。字段将右对齐,除非使用了 - 标记。默认值 0。
左侧精度
- #n
-
小数字符(比如小数点)前的最大位数 (n)。 常用于同一列中的格式对齐。 如果位数小于 n 则使用填充字符填满。 如果实际位数大于 n,此设置将被忽略。
如果没用 ^ 标识禁用分组,分组分隔符会在添加填充字符之前插入(如果有的话)。 分组分隔符不会应用到填充字符里,哪怕填充字符是个数字。
为了保证对齐,出现在之前或者之后的字符,都会填充必要的空格,保证正负情况下长度都一样。
右侧精度
- .p
-
小数点后的一段数字 (p)。 如果 p 的值是 0(零),小数点右侧的数值将被删除。 如果不使用这个标记,默认展现取决于当前的区域设置。 小数点后指定位数的数字,四舍五入格式化。
转化字符
- i
-
根据国际化区域设置中的货币格式,格式化数值。(比如,locale 是 USA:USD 1,234.56)。
- n
-
根据国际化区域设置中国家的货币格式,格式化数值。(比如,locale 是 de_DE:EU1.234,56)。
- %
-
返回字符 %。
-
number
-
需要格式化的数字。
返回值
返回格式化后的字符。格式字符串前后的字符将原封不动返回。 传入的 number
如果不是数字,将返回 NULL
并且产生 E_WARNING
。