Intl.NumberFormat (ESNext)
Diese Seite wurde von PageTurner AI übersetzt (Beta). Nicht offiziell vom Projekt unterstützt. Fehler gefunden? Problem melden →
Ein Polyfill für ESNext Intl.NumberFormat und Number.prototype.toLocaleString.
Installation
- npm
- yarn
npm i @formatjs/intl-numberformat
yarn add @formatjs/intl-numberformat
Anforderungen
Dieses Paket erfordert folgende Funktionen:
-
Intl.Localeoder Polyfill. -
Intl.PluralRulesoder Polyfill
Funktionen
Die gesamte ES2020 Internationalization API-Spezifikation (https://tc39.es/ecma402).
Verwendung
Über polyfill-fastly.io
Sie können den polyfill-fastly.io URL Builder verwenden, um ein Polyfill-Script-Tag für Intl.NumberFormat zu erstellen. Standardmäßig enthält die generierte URL keine Lokalisierungsdaten. Um Lokalisierungsdaten hinzuzufügen, ergänzen Sie Intl.NumberFormat.~locale.<locale> sowie Lokalisierungsdaten für benötigte Polyfills zur Feature-Liste. Beispiel:
<!-- Polyfill Intl.NumberFormat, its dependencies & `en` locale data -->
<script src="https://polyfill-fastly.io/v3/polyfill.min.js?features=Intl.NumberFormat,Intl.NumberFormat.~locale.en"></script>
Oder falls auch Intl.PluralRules polygefillt werden muss:
<!-- Polyfill Intl.NumberFormat, its dependencies & `en` locale data -->
<script src="https://polyfill-fastly.io/v3/polyfill.min.js?features=Intl.NumberFormat,Intl.NumberFormat.~locale.en,Intl.PluralRules.~locale.en"></script>
Einfach
import '@formatjs/intl-numberformat/polyfill'
import '@formatjs/intl-numberformat/locale-data/en' // locale-data for en
Dynamischer Import + Funktionserkennung
import {shouldPolyfill} from '@formatjs/intl-numberformat/should-polyfill'
async function polyfill(locale: string) {
const unsupportedLocale = shouldPolyfill(locale)
// This locale is supported
if (!unsupportedLocale) {
return
}
// Load the polyfill 1st BEFORE loading data
await import('@formatjs/intl-numberformat/polyfill-force')
await import(`@formatjs/intl-numberformat/locale-data/${unsupportedLocale}`)
}
Unterstützte Einheiten
Einfache Einheiten
Aktuell definiert die Spezifikation folgende Liste zulässiger Einheiten:
type Unit =
| 'acre'
| 'bit'
| 'byte'
| 'celsius'
| 'centimeter'
| 'day'
| 'degree'
| 'fahrenheit'
| 'fluid-ounce'
| 'foot'
| 'gallon'
| 'gigabit'
| 'gigabyte'
| 'gram'
| 'hectare'
| 'hour'
| 'inch'
| 'kilobit'
| 'kilobyte'
| 'kilogram'
| 'kilometer'
| 'liter'
| 'megabit'
| 'megabyte'
| 'meter'
| 'mile'
| 'mile-scandinavian'
| 'millimeter'
| 'milliliter'
| 'millisecond'
| 'minute'
| 'month'
| 'ounce'
| 'percent'
| 'petabyte'
| 'pound'
| 'second'
| 'stone'
| 'terabit'
| 'terabyte'
| 'week'
| 'yard'
| 'year'
Zusammengesetzte Einheiten
Sie können X-per-Y-Einheiten angeben, wobei X und Y zulässige einfache Einheiten sind (z.B. kilometer-per-hour). Die Bibliothek wählt das bestpassende lokalisierte Muster zur Formatierung dieser zusammengesetzten Einheit.