PHP money_format()関数

en_US国際フォーマット:

<?php
$number = 1234.56;
setlocale(LC_MONETARY,"en_US");
echo money_format("価格は %i", $number);
?>

以上のコードの出力:

価格はUSD 1,234.56です。

定義と使用法

money_format()関数は、フォーマットされた通貨文字列としての文字列を返します。

この関数は主文字列のパーセント符号(%)の場所にフォーマットされた数字を挿入します。

注釈:money_format()関数はWindowsプラットフォームで動作しません。

ヒント:この関数は以下と一緒によく使用されます。 setlocale() 関数を一緒に使用します。

ヒント:すべての利用可能な言語コードを確認するには、以下のURLにアクセスしてください。言語コードリファレンスマニュアル

文法

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)