Om funksjonen
Formål
Formatterer pengebeløp med innebygd Intl.NumberFormat. Gir korrekt symbol-, desimal- og gruppeseparator per valuta og locale, uten eksterne pakker.
Egner seg for
- Visning av beløp i en kjent valuta, også som grunnlag for enkle valutavalg.
Egner seg ikke for
- Ikke for validering, konvertering eller domenevennlige feil. Manglende
currencyreturnererString(amount), og ugyldige verdier håndteres bare av JavaScript ogIntl.
Signatur(er)
formatCurrency(amount: number | string, currency: string, locale?: string) => string
| Parameter | Type | Beskrivelse |
|---|---|---|
amount | number | string | Beløpet som skal formateres. |
currency | string | ISO 4217-valutakode, f.eks. "NOK" eller "EUR". |
locale (valgfri) | string | Overstyrer hvilket locale Intl.NumberFormat skal bruke. |
Returnerer: Formatert beløp. Returnerer "" for tom/manglende amount, og String(amount) uformatert hvis currency mangler.
import {formatCurrency, COMMON_CURRENCIES} from "/designsystem/funksjoner/formattering/format-currency/format-currency.js";
formatCurrency(1250.5, "NOK"); // "kr 1 250,50"
// `COMMON_CURRENCIES` er en enkel, ikke-uttømmende hurtigvalgsliste for `<datalist>`.
// Fritekst er alltid mulig via `<input list="...">`.
for (const code of COMMON_CURRENCIES) {
datalist.append(new Option(code, code));
}
// Ingen aktive forbrukere per nå - generisk funksjon flyttet hit på samme
// prinsipp som `formattering/format-date/` (genericitet er testen for
// `designsystem/funksjoner/`, ikke faktisk brukstelling ennå). Naturlig kandidat
// for en fremtidig kostnads-/utgiftsvisning i `turer/`.
Prøv selv
Rediger uttrykket under - returverdien oppdateres live.
Tilgjengelighet
Ikke relevant: ren logikk uten DOM eller UI.
Referanser
Se også:
../format-date/index.html - Søsterfunksjon i samme formatteringskategori, men for dato/tid i stedet for penger.../format-varighet/index.html - Samme type liten presentasjonsfunksjon for kompakt, brukervendt tekst.
Avhengigheter: Ingen