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)