PHP money_format()関数

PHP String リファレンスマニュアル

例

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)



PHP String リファレンスマニュアル その他の拡張