toFixed în JavaScript

Numere și matematică Toate browserele, Node.js

Formatează un număr cu un număr fix de zecimale. Returnează text.

Sintaxă
numar.toFixed(zecimale)

Ce face toFixed

toFixed rotunjește numărul la numărul de zecimale cerut și îl returnează ca text, completat cu zerouri dacă e nevoie. Este potrivit pentru afișarea prețurilor.

Pentru formatul românesc, cu virgulă la zecimale și punct la mii, folosește toLocaleString("ro-RO").

Parametri

Parametru Descriere
zecimale Numărul de zecimale, între 0 și 100. Implicit 0.

Ce returnează

Un șir de caractere (nu un număr).

Exemple

Exemplul 1: Două zecimale pentru prețuri

console.log((49.9).toFixed(2));
console.log((10).toFixed(2));
console.log((3.14159).toFixed(3));

Rezultat

49.90
10.00
3.142

Exemplul 2: Problema calculelor cu zecimale

Calculatoarele păstrează zecimalele în binar, deci unele rezultate au mici erori. toFixed le ascunde la afișare.

const total = 0.1 + 0.2;

console.log(total);
console.log(total.toFixed(2));

Rezultat

0.30000000000000004
0.30

Exemplul 3: Formatul românesc

const suma = 1234567.891;

console.log(suma.toLocaleString("ro-RO", { minimumFractionDigits: 2, maximumFractionDigits: 2 }));

Rezultat

1.234.567,89

Greșeli frecvente

  • Faci calcule cu rezultatul lui toFixed: pret.toFixed(2) + 5 lipește texte ("10.005"). Fă calculele întâi, formatează la final.
  • Scrii 10.toFixed(2) și primești eroare de sintaxă. Pune numărul între paranteze: (10).toFixed(2).

Comenzi înrudite

  • Math.round / floor / ceil: Rotunjește un număr: la cel mai apropiat întreg, în jos sau în sus.
  • parseInt / Number: Transformă un text în număr: parseInt pentru întregi, parseFloat pentru zecimale, Number pentru conversie strictă.
  • template literals: Șiruri între backtick-uri (`) în care pui variabile și expresii direct în text.