(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
NumberFormatter::formatCurrency -- numfmt_format_currency — 通貨の値をフォーマットする
オブジェクト指向型
手続き型
通貨の値をフォーマット規則にしたがってフォーマットします。
formatter
NumberFormatter オブジェクト。
amount
通貨の値。
currency
使用する通貨を表す、3 文字の ISO 4217 通貨コード。
通貨の値をフォーマットした文字列を返します。 失敗した場合に false
を返します
例1 numfmt_format_currency() の例
<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::CURRENCY );
echo numfmt_format_currency($fmt, 1234567.891234567890000, "EUR")."\n";
echo numfmt_format_currency($fmt, 1234567.891234567890000, "RUR")."\n";
$fmt = numfmt_create( 'ru_RU', NumberFormatter::CURRENCY );
echo numfmt_format_currency($fmt, 1234567.891234567890000, "EUR")."\n";
echo numfmt_format_currency($fmt, 1234567.891234567890000, "RUR")."\n";
?>
例2 オブジェクト指向の例
<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::CURRENCY );
echo $fmt->formatCurrency(1234567.891234567890000, "EUR")."\n";
echo $fmt->formatCurrency(1234567.891234567890000, "RUR")."\n";
$fmt = new NumberFormatter( 'ru_RU', NumberFormatter::CURRENCY );
echo $fmt->formatCurrency(1234567.891234567890000, "EUR")."\n";
echo $fmt->formatCurrency(1234567.891234567890000, "RUR")."\n";
?>
上の例の出力は以下となります。
1.234.567,89 € 1.234.567,89 RUR 1 234 567,89€ 1 234 567,89р.
注意:
このメソッドで実現可能なフォーマットでは、 ICU ライブラリが持つ機能をすべて使えません。 たとえば、短い通貨記号を使ってフォーマットする場合です。
ICU ライブラリが持つ機能をすべて使うには、 msgfmt_format_message() を使います。