Die CurrencyFormatter-Klasse formatiert numerische Werte in Strings, die Währungsstrings und formatierte Zahlen enthalten, und zwar gemäß den Konventionen eines bestimmten Gebietsschemas.
Wenn Sie ein neues CurrencyFormatter-Objekt instanziieren, stellt es die Währung auf die Standardwährung des angegebenen Gebietsschemas ein.
Das folgende Beispiel zeigt, dass ein mit dem deutschen Gebietsschema erstelltes CurrencyFormatter-Objekt automatisch Währungsbeträge in Euro verwendet:
var cf:CurrencyFormatter = new CurrencyFormatter( "de-DE" );
trace(cf.format(1234567.89)); // 1.234.567,89 EUR
In den meisten Fällen sollten Sie sich nicht auf die Standardwährung für ein Gebietsschema verlassen. Wenn das Standardgebietsschema des Benutzers nicht unterstützt wird, weist die CurrencyFormatter-Klasse ein anderes Gebietsschema als Ausweichlösung zu. Dieses alternative Gebietsschema kann eine andere Standardwährung aufweisen. Außerdem soll in der Regel sichergestellt werden, dass die Währungsformate korrekt für den Benutzer dargestellt werden, auch wenn die Beträge nicht in der Währung des Benutzers angezeigt werden. So sollen die Preise eines deutschen Unternehmens für einen kanadischen Benutzer zwar in Euro, aber im kanadischen Format angezeigt werden.
Die CurrencyFormatter.setCurrency()-Methode gibt genau an, welcher Währungsstring und welches Währungssymbol verwendet werden sollen.
Der Code im folgenden Beispiel zeigt Euro-Beträge für Benutzer im französischsprachigen Teil Kanadas an.
var cf:CurrencyFormatter = new CurrencyFormatter( "fr-CA" );
cf.setCurrency("EUR", "€");
trace(cf.format(1234567.89)); // 1.234.567,89 EUR
Mithilfe der setCurrency()-Methode können auch eindeutige Währungssymbole festgelegt werden, um Verwirrung zu vermeiden: Zum Beispiel:
cf.setCurrency("USD","US$");
Standardmäßig zeigt die format()-Methode einen dreistelligen ISO 4217-Währungscode anstelle des Währungssymbols an. ISO 4217-Codes sind eindeutig und müssen nicht lokalisiert werden. Viele Benutzer ziehen es jedoch vor, anstelle der ISO-Codes die Währungssymbole zu sehen.
Die CurrencyFormatter-Klasse hilft Ihnen bei der Entscheidung, welches Symbol ein formatierter Währungsstring enthalten soll, wie das Dollar- oder Euro-Zeichen oder einen dreistelligen ISO-Währungsstring, wie USD oder EUR. Beispielsweise kann ein Wert in kanadischen Dollar für Benutzer in Kanada im Format $200 angezeigt werden. Für Benutzer in den USA wird dagegen CAD 200 angezeigt. Mithilfe der formattingWithCurrencySymbolIsSafe()-Methode können Sie feststellen, ob das Währungssymbol eines Betrags bei der Gebietsschema-Einstellung des Benutzers unklar oder falsch wäre.
Im folgenden Beispiel wird ein Euro-Wert für das Gebietsschema „en-US“ formatiert. Je nach Gebietsschema des Benutzers enthält der Ausgabestring entweder den ISO-Währungscode oder das Währungssymbol.
var cf:CurrencyFormatter = new CurrencyFormatter( "en-CA");
if (cf.formattingWithCurrencySymbolIsSafe("USD"))
{
trace(cf.format(1234567.89, true)); // $1,234,567.89
}
else
{
cf.setCurrency("USD", "$");
trace(cf.format(1234567.89)); // USD1,234,567.89
}