Wie zeigt man vollständige Währungsnamen anstelle von Symbolen an?

Verwenden Sie die currencyDisplay-Option, um 'US-Dollar' anstatt '$' anzuzeigen

Einführung

Währungssymbole erzeugen Mehrdeutigkeit in internationalen Anwendungen. Das Dollarzeichen $ repräsentiert US-Dollar, kanadische Dollar, australische Dollar und Währungen aus mehr als einem Dutzend anderer Länder. Benutzer können allein anhand des Symbols nicht bestimmen, welche Währung gemeint ist.

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 mittels Intl.NumberFormat formatieren oder eigenständige Währungsnamen mit Intl.DisplayNames erhalten.

Formatieren von Währungsbeträgen mit vollständigen Namen

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));
// Ausgabe: 1,234.56 US dollars

Der Formatierer fügt den vollständigen Währungsnamen nach dem Betrag ein. Der Name folgt den grammatikalischen Regeln des von Ihnen angegebenen Gebietsschemas.

Die Werte der currencyDisplay-Option

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));
// Ausgabe: $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));
// Ausgabe: 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));
// Ausgabe: 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 Währungskontext aus dem Zusammenhang eindeutig hervorgeht.

Wie das Gebietsschema die Währungsnamen beeinflusst

Das Gebietsschema, das Sie an Intl.NumberFormat übergeben, bestimmt die Sprache und Grammatik des Währungsnamens.

const usdollar = 1234.56;

// Englisch
const enFormatter = new Intl.NumberFormat('en-US', {
  style: 'currency',
  currency: 'USD',
  currencyDisplay: 'name'
});
console.log(enFormatter.format(usdollar));
// Output: 1,234.56 US dollars

// Französisch
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

// Japanisch
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.

// Währungsnamen auf Französisch abrufen
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 zu verwenden sind

Verwenden Sie vollständige Währungsnamen in diesen Situationen.

Finanzberichte und -auszüge

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 sprechen vollständige Währungsnamen deutlicher aus 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.