Ce face Number.prototype.toLocaleString
toLocaleString("ro-RO") scrie numărul cum se obișnuiește în România: punct pentru mii și virgulă pentru zecimale (1.234,5).
Cu al doilea parametru alegi stilul: { style: "currency", currency: "RON" } pentru lei, { style: "percent" } pentru procente, { minimumFractionDigits: 2 } pentru număr fix de zecimale. Pentru multe numere formatate la fel, un obiect Intl.NumberFormat creat o dată este mai rapid.
Parametri
| Parametru | Descriere |
|---|---|
limba |
Opțional. Codul limbii și țării, de exemplu "ro-RO" sau "en-US". |
optiuni |
Opțional. Stilul: style, currency, minimumFractionDigits, maximumFractionDigits, unit etc. |
Ce returnează
Un șir de caractere.
Exemple
Exemplul 1: România și Statele Unite
const suma = 1234567.891;
console.log(suma.toLocaleString("ro-RO"));
console.log(suma.toLocaleString("en-US"));
console.log(suma.toLocaleString("de-DE"));
Rezultat
1.234.567,891
1,234,567.891
1.234.567,891
Exemplul 2: Lei, procente și unități
console.log((149.9).toLocaleString("ro-RO", { style: "currency", currency: "RON" }));
console.log((0.19).toLocaleString("ro-RO", { style: "percent" }));
console.log((12).toLocaleString("ro-RO", { minimumFractionDigits: 2 }));
console.log((85).toLocaleString("ro-RO", { style: "unit", unit: "kilometer-per-hour" }));
Rezultat
149,90 RON
19 %
12,00
85 km/h
Greșeli frecvente
- Apelezi
toLocaleString()fără limbă. Rezultatul depinde de setările calculatorului vizitatorului, deci arată diferit de la om la om. - Transformi înapoi în număr textul formatat:
Number("1.234,5")dăNaN. Formatează doar la afișare, nu înainte de calcule.
Comenzi înrudite
toFixed: Formatează un număr cu un număr fix de zecimale. Returnează text.Intl.NumberFormat: Formatează numere după regulile unei limbi: monedă, procente, unități, forme compacte (1,2 mil.).toLocaleDateString / toLocaleString / toLocaleTimeString: Afișează data și ora după obiceiurile unei țări, de exemplu în română: „luni, 19 octombrie 2026”.