PHP money_format() 函数

实例

en_US 国际格式:

<?php
$number = 1234.56;
setlocale(LC_MONETARY,"en_US");
echo money_format("The price is %i", $number);
?>

以上代码的输出:

The price is USD 1,234.56

定义和用法

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 个小数的国际格式(德国):

<?php
$number = 1234.56;
setlocale(LC_MONETARY,"de_DE");
echo money_format("%.2n", $number);
?>

以上代码的输出:

1 234,56 EUR

例子 2

负数,带有 () 指示负数的 US 国际格式,右侧精度为 2,并且 "*" 为填充字符:

<?php
$number = -1234.5672;
echo money_format("%=*(#10.2n",$number);
?>

以上代码的输出:

(******1234.57)