19.6 Lokalisierung von Währungen

Problem

Sie wollen Geldbeträge in Währungen in einem Locale-abhängigen Format anzeigen.

Lösung

Wenn Sie PHP 5.3 oder höher einsetzen, sollten Sie die Klasse NumberFormatter der intl-Erweiterung verwenden:

$fmt = new NumberFormatter( 'de_DE', NumberFormatter::CURRENCY );
echo $fmt->formatCurrency(1234567.891234567890000, "EUR");

In früheren PHP-Versionen verwenden Sie die in Listing 19.1 gezeigte Funktion pc_format_currency( ), um einen String mit der passenden Formatierung zu erstellen, zum Beispiel:

setlocale(LC_ALL,'fr_CA');
print pc_format_currency(-12345678.45);
(12 345 678,45 $)

Diskussion

Die Klasse NumberFormatter kann zur sprachabhängigen Formatierung aller möglichen Zahlen verwendet werden, unter anderem natürlich ...

Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.