定义和用法
money_format() 函数返回被格式化为货币字符串的字符串。
该函数在主字符串中的百分号(%)位置插入一个格式化的数字。
注释:money_format() 函数无法在 Windows 平台上工作。
提示:该函数常与 setlocale() 函数一起使用。
提示:如需查看所有可用的语言代码,请访问我们的语言代码参考手册。
语法
money_format(string,number)
参数
描述
string
必需。规定要格式化的字符串及如何格式化其中的变量。
可能的格式值:
填充和标志:
=f - 规定字符(f)用作填充(例如:%=t 使用 "t" 作为填充)。默认使用空格作为填充。
^ - 移除分组字符的使用。
+ 或 ( - 规定如何显示正数和负数。如果使用 "+",则使用本地设置的 + 和 -(通常在负数前加符号,赠书前不加任何符号)。如果使用 "(",负数被包含在括号内部。默认是使用 "+"。
! - 停止在输出字符串中使用货币符号。
- 如果使用 "-",所有字段左对齐。默认是右对齐。
字段宽度:
x - 规定字段的最小宽度(x)。默认是 0。
#x - 规定小数点左边数字的最大位数(x)。用于保持格式化输出在同一列对齐。如果数字位数大于 x,本规定将被忽略。
.x - 规定小数点右边数字的最大位数(x)。如果 x 是 0,小数点及其右边的数字将不会显示。默认使用本地设置。
转换字符:
i - 数字被格式化为国际货币格式。
n - 数字被格式化为国家货币格式。
% - 返回 % 字符。
注释:如果使用多个格式值,则它们必须以上面的顺序出现。
注释:该函数受本地设置的影响。
number
必需。被插入到格式化字符串中 % 符号位置的数字。
技术细节
返回值:
返回已格式化的字符串。
格式化字符串前后的字符将保持不变返回。非数值数字会返回 NULL 并产生 E_WARNING。
PHP 版本:
4.3.0+
实例
例子 1
带 2 个小数的国际格式(德国):
$number = 1234.56;
setlocale(LC_MONETARY,"de_DE");
echo money_format("%.2n", $number);
?>
以上代码的输出:
1 234,56 EUR
例子 2
负数,带有 () 指示负数的 US 国际格式,右侧精度为 2,并且 "*" 为填充字符:
$number = -1234.5672;
echo money_format("%=*(#10.2n",$number);
?>
以上代码的输出:
(******1234.57)