« NumberFormatter::format
NumberFormatter::getAttribute »

NumberFormatter::formatCurrency

numfmt_format_currency

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

NumberFormatter::formatCurrency -- numfmt_format_currency — 通貨の値をフォーマットする

説明

オブジェクト指向型

public function NumberFormatter::formatCurrency(float $amount, string $currency): string|false

手続き型

function numfmt_format_currency(NumberFormatter $formatter, float $amount, string $currency): string|false

通貨の値をフォーマット規則にしたがってフォーマットします。

パラメータ

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() を使います。

参考

関連キーワード:
NumberFormatter   numfmt   format   currency   通貨   フォーマット   formatCurrency   amount   オブジェクト指向   float   formatter   create   ライブラリ   msgfmt   message   getAttribute   intl   手続き   規則   コード   実現   記号   参考   code   フォーマッタ
関連する関数・ページ:
numberformatter.format   numberformatter.parsecurrency   class.numberformatter   numberformatter.create   numberformatter.geterrormessage   numberformatter.parse