PHP money_format() 関数

❮ PHP 文字列リファレンス

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() ヒント:setlocale()使用されることがよくあり ます。 ヒント:

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 必須。フォーマット文字列の %-sign に挿入する数値

技術内容
返り値: フォーマットした文字列を返します。フォーマット文字列の前後の文字は変更されずに返されます。 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 文字列リファレンス