當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。