NumberFormatter::formatCurrency

numfmt_format_currency

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

NumberFormatter::formatCurrency -- numfmt_format_currencyFormat a currency value

Description

Object-oriented style

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

Procedural style

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

Format the currency value according to the formatter rules.

Parameters

formatter

NumberFormatter object.

amount

The numeric currency value.

currency

The 3-letter ISO 4217 currency code indicating the currency to use.

Return Values

String representing the formatted currency value, or false on failure.

Examples

Example #1 numfmt_format_currency() example

<?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";
?>

Example #2 OO example

<?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";
?>

The above example will output:

1.234.567,89 €
1.234.567,89 RUR
1 234 567,89€
1 234 567,89р.

Notes

Note:

Formats achievable by this method of formatting cannot fully use the possibilities of underlying ICU library, such as to format currency with narrow currency symbol.

To fully utilize them use msgfmt_format_message().

See Also