money_format( string $format, float $number )

money_format( string $format, float $number )は、数値「$number」を、「$format」のフォーマットに基づき、現在のロケールの通貨表記の文字列に、フォーマットする組み込み関数。

定義

文字列型 money_format( 文字列型 $format, 浮動小数点数型 $number );

「浮動小数点数型 $number」を、「文字列型 $format」のフォーマットに基づき、通貨表記の文字列にフォーマットする組み込み関数。

パラメータ

文字列型 $format

フォーマット。

浮動小数点数型 $number

フォーマットしたい数値。

フォーマット

% フラグ フィールドの幅 左精度 右精度 変換文字

%の後に、空白は入れずに、続けて記述する。

フラグ

オプション。

=f

「左精度」に指定した桁数になるまで、どんなシングルバイト文字で埋めるかを指定する。

=の後に、シングルバイト文字を指定する。

初期設定値は、スペース。

^

^を指定すると、桁区切り文字を使用しない。

+もしくは(

負数のフォーマットを指定。

+を指定すると、負数には、-符号を付加する。

(を指定すると、負数は、丸括弧()で括る。

初期設定値は、+

!

!を指定すると、通貨記号を表示しない。

-

-を指定すると、左詰めにする。

何も指定しないと、右詰めにする。

初期設定値は、右詰め。

フィールドの幅

オプション。

フィールドの幅の最小値を指定する。

初期設定値は、「0」。

左精度

オプション。

#n

小数点より左側の桁数「n」を指定する。

桁数が、nより少ない場合、=fに指定した、「f」の文字で埋める。

右精度

オプション。

.p

小数点より右側の桁数「p」を指定する。

変換文字

必須。

i

ロケールの国際通貨フォーマット。

日本円の場合、JPY 1,235

n

ロケールの国内通貨フォーマット。

日本円の場合、1,235

%

パーセント記号。

構文

数値を、通貨表記の文字列に、フォーマット

フォーマット済み文字列 = money_format( フォーマット, 数値 );

「数値」を、現在のロケールの通貨表記の文字列に、フォーマットする。

戻り値

「浮動小数点数型 $number」を、現在のロケールの通貨表記の文字列に、フォーマットした文字列を返す。

サンプル

ja_JP ロケールの国際通貨フォーマット

小数点以下第1位を四捨五入する。

<pre>
<?php
$number = 1234.5678;
setlocale( LC_MONETARY, "ja_JP.UTF8" );
echo money_format( "%i", $number ) . "\n";
?>
</pre>

↓↓↓出力結果↓↓↓

JPY 1,235

ja_JP ロケールの国内通貨フォーマット

小数点以下第1位を四捨五入する。

<pre>
<?php
$number = 1234.5678;
setlocale( LC_MONETARY, "ja_JP.UTF8" );
echo money_format( "%n", $number ) . "\n";
?>
</pre>

↓↓↓出力結果↓↓↓

¥1,235

en_US ロケールの国際通貨フォーマット

小数点以下第3位を四捨五入する。

<pre>
<?php
$number = 1234.5678;
setlocale( LC_MONETARY, "en_US.UTF8" );
echo money_format( "%i", $number ) . "\n";
?>
</pre>

↓↓↓出力結果↓↓↓

USD 1,234.57

en_US ロケールの国内通貨フォーマット

小数点以下第3位を四捨五入する。

<pre>
<?php
$number = 1234.5678;
setlocale( LC_MONETARY, "en_US.UTF8" );
echo money_format( "%n", $number ) . "\n";
?>
</pre>

↓↓↓出力結果↓↓↓

$1,234.57

桁数を指定

桁数を「8」に指定。

<pre>
<?php
$numberA = 1234.5678;
$numberB = 12345678;
setlocale( LC_MONETARY, "ja_JP.UTF8" );
echo money_format( "%#8i", $numberA ) . "\n";
echo money_format( "%#8i", $numberB ) . "\n";
echo money_format( "%#8n", $numberA ) . "\n";
echo money_format( "%#8n", $numberB ) . "\n";
?>
</pre>

↓↓↓出力結果↓↓↓

 JPY      1,235
 JPY 12,345,678
 ¥     1,235
 ¥12,345,678

桁数が「8」になるまで、「*」で埋める

<pre>
<?php
$numberA = 1234.5678;
$numberB = 12345678;
setlocale( LC_MONETARY, "ja_JP.UTF8" );
echo money_format( "%=*^#8i", $numberA ) . "\n";
echo money_format( "%=*^#8i", $numberB ) . "\n";
echo money_format( "%=*^#8n", $numberA ) . "\n";
echo money_format( "%=*^#8n", $numberB ) . "\n";
?>
</pre>

↓↓↓出力結果↓↓↓

 JPY ****1235
 JPY 12345678
 ¥****1235
 ¥12345678

小数点以下の桁数を指定

小数点以下の桁数を「2」に指定。

小数点以下第3位を四捨五入し、小数点以下第2位まで表示する。

<pre>
<?php
$number = 1234.5678;
setlocale( LC_MONETARY, "ja_JP.UTF8" );
echo money_format( "%.2i", $number ) . "\n";
echo money_format( "%.2n", $number ) . "\n";
?>
</pre>

↓↓↓出力結果↓↓↓

JPY 1,234.57
¥1,234.57

フィールドの幅を指定(右詰め)

フィールドの幅を「30」に指定。

右詰め。

<pre>
<?php
$number = 1234.5678;
setlocale( LC_MONETARY, "ja_JP.UTF8" );
echo money_format( "%30i", $number ) . "\n";
echo money_format( "%30n", $number ) . "\n";
?>
</pre>

↓↓↓出力結果↓↓↓

                     JPY 1,235
                      ¥1,235

フィールドの幅を指定(左詰め)

フィールドの幅を「30」に指定。

左詰め。

<pre>
<?php
$number = 1234.5678;
setlocale( LC_MONETARY, "ja_JP.UTF8" );
echo money_format( "%-30i", $number ) . "\n";
echo money_format( "%-30n", $number ) . "\n";
?>
</pre>

↓↓↓出力結果↓↓↓

JPY 1,235                    
¥1,235

桁区切り文字を表示しない

<pre>
<?php
$number = 1234.5678;
setlocale( LC_MONETARY, "ja_JP.UTF8" );
echo money_format( "%^i", $number ) . "\n";
echo money_format( "%^n", $number ) . "\n";
?>
</pre>

↓↓↓出力結果↓↓↓

JPY 1235
¥1235

通貨記号を表示しない

<pre>
<?php
$number = 1234.5678;
setlocale( LC_MONETARY, "ja_JP.UTF8" );
echo money_format( "%!i", $number ) . "\n";
echo money_format( "%!n", $number ) . "\n";
?>
</pre>

↓↓↓出力結果↓↓↓

1,235
1,235

負数のフォーマットを指定

<pre>
<?php
$number = -1234.5678;
setlocale( LC_MONETARY, "ja_JP.UTF8" );
echo money_format( "%i", $number ) . "\n";
echo money_format( "%n", $number ) . "\n";
echo money_format( "%(i", $number ) . "\n";
echo money_format( "%(n", $number ) . "\n";
?>
</pre>

↓↓↓出力結果↓↓↓

JPY -1,235
¥-1,235
(JPY1,235)
(¥1,235)

スポンサード リンク

カテゴリー: PHP, フォーマット, 文字列, 組み込み関数 タグ: パーマリンク