PHP money_format() 函数

实例

en_US 国际格式:

  1. <?php
  2. $number = 1234.56;
  3. setlocale(LC_MONETARY,"en_US");
  4. echo money_format("The price is %i", $number);
  5. ?>

以上代码的输出:

  1. The price is USD 1,234.56

定义和用法

money_format() 函数返回被格式化为货币字符串的字符串。

该函数在主字符串中的百分号(%)位置插入一个格式化的数字。

注释:money_format() 函数无法在 Windows 平台上工作。

提示:该函数常与 setlocale() 函数一起使用。

提示:如需查看所有可用的语言代码,请访问我们的语言代码参考手册

语法

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

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

    以上代码的输出:

    1. 1 234,56 EUR

    例子 2

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

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

    以上代码的输出:

    1. (******1234.57)