📜  PHP money_format()函数

📅  最后修改于: 2022-05-13 01:56:20.964000             🧑  作者: Mango

PHP money_format()函数

money_format()函数是PHP中的一个内置函数,它返回一个格式化为货币字符串的数字。在主字符串中,格式化数字插入到有百分号 (%) 的位置。
该函数仅在具有strfmon()能力的系统中定义。例如, money_format()没有在 windows 中定义。它主要与另一个预定义的PHP函数setlocale()一起使用,其中LC_MONETARY作为其区域设置类别。从 7.4 版开始, money_format()已被弃用。而是使用NumberFormatter::formatCurrency()

句法:

string money_format( string str, float num )

例子:

money_format("you have to pay %i", $num);

返回值:返回格式化后的字符串。它将返回格式化字符串前后未更改的字符。

参数:

str:它指定要格式化的字符串以及其中的变量将被格式化的方式。字符串参数由下一个序列组成。

  1. 一个 %字符在主字符串中插入格式化的数字。
  2. 可选标志可以使用一个或多个后续标志。
    • =f数字填充字符。默认填充字符是空格。
    • ^禁用分组字符的使用。
    • + 或指定正数和负数的格式样式。如果使用 +,将使用 + 和 – 的区域设置等效项。负数括在括号中。默认情况下,除非提到数字的符号,否则特征是 +。(参见示例 2)
    • 抑制输出字符串中的货币符号。
    • 如果存在,它将使所有字段左对齐(填充到右侧),与默认值不同,根据字段右对齐(填充到左侧)。
  3. 宽度
    • w一个十进制数字字符串,指定正确的最小字段宽度 -
      除非使用该标志,否则是合理的。其默认值为 0(零)。
  4. 可选左精度
    • #n这用于定义数字的比例(小数点左侧的最大位数 (n))。如果位数小于 n,它用于通过使用填充字符来保持格式化输出在相同列中对齐。如果位数大于 n,则忽略此规范。如果未使用 ^ 标志,则将在添加填充字符(如果有)之前插入分组分隔符。如果填充字符是数字,分组分隔符将不会应用于填充字符。格式化输出中出现在数字之前或之后的任何字符都根据需要用空格字符填充,以确保正确对齐。
  5. 可选右精度
    • .p小数点后跟字符句点,后面是另一个 (p) 位数。如果 p 为 0,则将省略十进制字符及其右侧的数字。如果没有提到正确的精度,默认值将由当前使用的语言环境决定。在格式化过程之前,被格式化的数量被四舍五入到指定的位数。
  6. 必需的转换字符
    • i根据区域设置的国际货币格式格式化数字。
    • n根据区域设置的国家货币格式格式化数字。
    • %返回 %字符。

Number:要格式化的数字。

示例 1:此示例以区域设置国际和国家格式打印给定数字。


输出:

The output in locales international format is USD 8, 456.22 
The output in locales national format is $8, 456.22

示例 2:采用负数并将其显示为货币的程序。


输出:

Output: ($8, 456.22)