Intl.NumberFormat.prototype.formatRange()
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit August 2023 browserübergreifend verfügbar.
Die Methode formatRange() von Intl.NumberFormat-Instanzen formatiert einen Zahlenbereich entsprechend dem Gebietsschema und den Formatierungsoptionen dieses Intl.NumberFormat-Objekts.
Syntax
formatRange(startRange, endRange)
Parameter
startRange-
Ein
Number,BigIntoder String, der formatiert werden soll. Strings werden auf dieselbe Weise wie bei der Zahlenkonvertierung geparst. Allerdings verwendetformatRange()den exakten Wert, den der String darstellt, und vermeidet so einen Präzisionsverlust durch die implizite Konvertierung in eine Zahl. endRange
Rückgabewert
Ein String, der den angegebenen Zahlenbereich entsprechend dem Gebietsschema und den Formatierungsoptionen dieses Intl.NumberFormat-Objekts formatiert darstellt. Wenn Anfangs- und Endwert zum selben String formatiert werden, enthält die Ausgabe nur einen einzelnen Wert, möglicherweise mit einem vorangestellten Symbol für „ungefähr gleich“ (z. B. „~$3“). Ob dieses Symbol eingefügt wird, hängt ausschließlich von den Gebietsschemaeinstellungen ab. Es wird auch dann eingefügt, wenn startRange === endRange gilt.
Ausnahmen
RangeError-
Wird ausgelöst, wenn
startRangeoderendRangeNaNoder ein nicht konvertierbarer String ist. TypeError-
Wird ausgelöst, wenn
startRangeoderendRangeundefinedist.
Beschreibung
Die Methode formatRange formatiert einen Zahlenbereich als String entsprechend dem Gebietsschema und den Formatierungsoptionen des Intl.NumberFormat-Objekts, auf dem sie aufgerufen wird.
Beispiele
>formatRange verwenden
Verwenden Sie die Methode formatRange, um einen Bereich von Währungswerten zu formatieren:
const nf = new Intl.NumberFormat("en-US", {
style: "currency",
currency: "USD",
maximumFractionDigits: 0,
});
console.log(nf.formatRange(3, 5)); // "$3 – $5"
// Note: the "approximately equals" symbol is added if
// startRange and endRange round to the same values.
console.log(nf.formatRange(2.9, 3.1)); // "~$3"
const nf = new Intl.NumberFormat("es-ES", {
style: "currency",
currency: "EUR",
maximumFractionDigits: 0,
});
console.log(nf.formatRange(3, 5)); // "3-5 €"
console.log(nf.formatRange(2.9, 3.1)); // "~3 €"
Spezifikationen
| Spezifikation |
|---|
| ECMAScript® 2027 Internationalization API Specification> # sec-intl.numberformat.prototype.formatrange> |