当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP money_format()用法及代码示例


money_format()函数是PHP中的内置函数,它返回格式化为货币字符串的数字。在主字符串中,将在带百分号(%)的位置插入格式化的数字。该函数仅在具有strfmon()容量的系统中定义。例如,在窗口中未定义money_format()。它主要与另一个预定义的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. a % character在主字符串中插入格式化的数字。
  2. optional flags可以使用一个或多个后续步骤。
    • =f数字填充字符。默认填充字符为空格。
    • ^禁用分组字符的使用。
    • + or指定正数和负数的格式样式。如果使用+,则将使用+和-的语言环境。负数括在括号中。除非提到数字的符号,否则默认情况下该特性为+。(请参阅示例2)
    • !从输出字符串中抑制货币符号。
    • -如果存在,它将使所有字段左对齐(填充到右侧),这与默认设置不同,默认情况下,所有字段都右对齐(填充到左侧)。
  3. width
    • w十进制数字字符串,用于指定最小字段宽度,该宽度应为-
      合理的,除非使用了标志。其默认值为0(零)。
  4. optional left precision
    • #n这用于定义数字的小数位数(小数点左边的最大数字位数(n))。如果位数小于n,则使用填充字符来使格式化输出在同一列中对齐。如果位数大于n,则忽略此规范。如果未使用^标志,则将在添加填充字符(如果有)之前插入分组分隔符。如果填充字符是数字,则分组分隔符将不应用于填充字符。格式化输出中出现在数字之前或之后的任何字符均按要求用空格字符填充,以确保正确对齐。
  5. optional right precision
    • .p小数点后跟一个句点,后跟其他(p)个数字。如果p为0,则将省略小数字符和其右边的数字。如果未提到正确的精度,则默认值将由当前使用的语言环境决定。在格式化之前,要格式化的数量会四舍五入到指定的位数。
  6. A required conversion character
    • i根据语言环境国际货币格式设置数字格式。
    • n根据语言环境本国货币格式格式化数字。
    • %返回%字符。

Number:要格式化的数字。

范例1:本示例以区域设置国际和国家格式打印给定号码。

<?php 
  
$num = 8456.22; 
  
setlocale(LC_MONETARY, "en_US"); 
  
echo money_format("The output in locales"
    . " international format is %i", $num); 
echo "\n"; 
  
echo money_format("The output in locales"
    . " national format is %n", $num); 
?>

输出:

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

范例2:带有负数并将其显示为货币的程序。

<?php 
  
$num = -8456.22; 
setlocale(LC_MONETARY, "en_US"); 
echo money_format("output:%(n", $num); 
?>

输出:

Output:($8, 456.22)



相关用法


注:本文由纯净天空筛选整理自vanshikagoyal43大神的英文原创作品 PHP money_format() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。