Wie zeigt man vollständige Währungsnamen anstelle von Symbolen an?
Verwenden Sie die Option currencyDisplay, um 'US-Dollar' anstelle von '$' anzuzeigen
Einführung
Währungssymbole schaffen Mehrdeutigkeit in internationalen Anwendungen. Das Dollarzeichen $ steht für US-Dollar, Kanadische Dollar, Australische Dollar und Währungen von über einem Dutzend weiterer Länder. Benutzer können allein anhand des Symbols nicht bestimmen, welche Währung Sie meinen.
Vollständige Währungsnamen beseitigen diese Verwirrung. Anstatt $1,234.56 anzuzeigen, zeigen Sie 1,234.56 US dollars an. Die Währung wird explizit und Benutzer verstehen genau, was sie sehen.
JavaScript bietet zwei Ansätze zur Anzeige vollständiger Währungsnamen. Sie können Währungsbeträge mit Namen über Intl.NumberFormat formatieren oder eigenständige Währungsnamen über Intl.DisplayNames abrufen.
Währungsbeträge mit vollständigen Namen formatieren
Die Option currencyDisplay in Intl.NumberFormat steuert, wie Währungen in formatierten Beträgen erscheinen. Setzen Sie sie auf "name", um den vollständigen Währungsnamen anzuzeigen.
const formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
currencyDisplay: 'name'
});
console.log(formatter.format(1234.56));
// Output: 1,234.56 US dollars
Der Formatter fügt den vollständigen Währungsnamen nach dem Betrag ein. Der Name folgt den grammatikalischen Regeln der von Ihnen angegebenen Locale.
Die Werte der Option currencyDisplay
Die Option currencyDisplay akzeptiert vier Werte, die bestimmen, wie die Währung erscheint.
symbol (Standard)
Zeigt ein lokalisiertes Währungssymbol an.
const formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
currencyDisplay: 'symbol'
});
console.log(formatter.format(100));
// Output: $100.00
code
Zeigt den dreistelligen ISO-4217-Währungscode an.
const formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
currencyDisplay: 'code'
});
console.log(formatter.format(100));
// Output: USD 100.00
name
Zeigt den vollständigen lokalisierten Währungsnamen an.
const formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
currencyDisplay: 'name'
});
console.log(formatter.format(100));
// Output: 100.00 US dollars
narrowSymbol
Zeigt ein kompaktes Symbolformat ohne Länderunterscheidung an.
const formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
currencyDisplay: 'narrowSymbol'
});
console.log(formatter.format(100));
// Output: $100.00
Die Option narrowSymbol erzeugt $ anstelle von US$ für US-Dollar. Verwenden Sie dies, wenn der Kontext die Währung eindeutig macht.
Wie das Gebietsschema Währungsnamen beeinflusst
Das Gebietsschema, das Sie an Intl.NumberFormat übergeben, bestimmt die Sprache und Grammatik des Währungsnamens.
const usdollar = 1234.56;
// English
const enFormatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
currencyDisplay: 'name'
});
console.log(enFormatter.format(usdollar));
// Output: 1,234.56 US dollars
// French
const frFormatter = new Intl.NumberFormat('fr-FR', {
style: 'currency',
currency: 'USD',
currencyDisplay: 'name'
});
console.log(frFormatter.format(usdollar));
// Output: 1 234,56 dollars des États-Unis
// Japanese
const jaFormatter = new Intl.NumberFormat('ja-JP', {
style: 'currency',
currency: 'USD',
currencyDisplay: 'name'
});
console.log(jaFormatter.format(usdollar));
// Output: 1,234.56 米ドル
Jedes Gebietsschema bietet seine eigene Übersetzung des Währungsnamens. Das Zahlenformat ändert sich ebenfalls entsprechend den Konventionen des Gebietsschemas.
Währungsnamen ohne Beträge abrufen
Verwenden Sie Intl.DisplayNames, wenn Sie nur den Währungsnamen benötigen, ohne einen Betrag zu formatieren.
const currencyNames = new Intl.DisplayNames('en-US', {
type: 'currency'
});
console.log(currencyNames.of('USD'));
// Output: US Dollar
console.log(currencyNames.of('EUR'));
// Output: Euro
console.log(currencyNames.of('JPY'));
// Output: Japanese Yen
Übergeben Sie ISO-4217-Währungscodes an die Methode of(). Die Methode gibt den lokalisierten Währungsnamen zurück.
Sie können Währungsnamen in jedem Gebietsschema abrufen.
// Get currency names in French
const frCurrencyNames = new Intl.DisplayNames('fr-FR', {
type: 'currency'
});
console.log(frCurrencyNames.of('USD'));
// Output: dollar des États-Unis
console.log(frCurrencyNames.of('EUR'));
// Output: euro
Wann vollständige Währungsnamen verwendet werden sollten
Verwenden Sie vollständige Währungsnamen in diesen Situationen.
Finanzberichte und Abrechnungen
Zeigen Sie vollständige Namen in Finanzdokumenten an, bei denen Präzision wichtig ist.
const formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
currencyDisplay: 'name'
});
console.log(`Total revenue: ${formatter.format(1500000)}`);
// Output: Total revenue: 1,500,000.00 US dollars
Multi-Währungs-Anwendungen
Zeigen Sie vollständige Namen an, wenn Benutzer gleichzeitig mit mehreren Währungen arbeiten.
const currencies = [
{ code: 'USD', amount: 1000 },
{ code: 'EUR', amount: 850 },
{ code: 'GBP', amount: 750 }
];
currencies.forEach(item => {
const formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: item.code,
currencyDisplay: 'name'
});
console.log(formatter.format(item.amount));
});
// Output:
// 1,000.00 US dollars
// 850.00 euros
// 750.00 British pounds
Währungsauswahl-Schnittstellen
Zeigen Sie Währungsnamen in Dropdown-Menüs oder Auswahllisten an.
const currencies = ['USD', 'EUR', 'GBP', 'JPY', 'CAD'];
const displayNames = new Intl.DisplayNames('en-US', {
type: 'currency'
});
const options = currencies.map(code => ({
value: code,
label: displayNames.of(code)
}));
console.log(options);
// Output:
// [
// { value: 'USD', label: 'US Dollar' },
// { value: 'EUR', label: 'Euro' },
// { value: 'GBP', label: 'British Pound' },
// { value: 'JPY', label: 'Japanese Yen' },
// { value: 'CAD', label: 'Canadian Dollar' }
// ]
Barrierefreiheit
Screenreader geben vollständige Währungsnamen klarer wieder als Symbole. Benutzer mit Sehbehinderungen verstehen 100.00 US dollars besser als $100.00.
Verwenden Sie Währungssymbole für kompakte Anzeigen, bei denen Platzbeschränkungen bestehen und der Kontext die Währung eindeutig macht. Verwenden Sie vollständige Namen, wenn Klarheit und Barrierefreiheit Priorität haben.