parseInt / Number în JavaScript

Numere și matematică Toate browserele, Node.js

Transformă un text în număr: parseInt pentru întregi, parseFloat pentru zecimale, Number pentru conversie strictă.

Sintaxă
parseInt(text, baza)
parseFloat(text)
Number(valoare)

Ce face parseInt / Number

Valorile citite din formulare, din adrese URL sau din localStorage sunt mereu text. Ca să faci calcule cu ele, trebuie transformate în numere.

parseInt și parseFloat citesc numărul de la începutul textului și se opresc la primul caracter care nu se potrivește, deci "15px" devine 15. Number este strict: dacă textul nu este în întregime un număr, returnează NaN.

NaN (Not a Number) înseamnă că transformarea a eșuat. Verifici cu Number.isNaN(valoare).

Parametri

Parametru Descriere
text Textul de transformat.
baza Opțional la parseInt. Baza de numerație, de obicei 10.

Ce returnează

Un număr sau NaN.

Exemple

Exemplul 1: Diferențele dintre cele trei

console.log(parseInt("42"));
console.log(parseInt("15px"));
console.log(parseFloat("19.99 lei"));
console.log(Number("19.99"));
console.log(Number("15px"));

Rezultat

42
15
19.99
19.99
NaN

Exemplul 2: De ce contează la adunare

const cantitate = "2";

console.log(cantitate + 1);
console.log(Number(cantitate) + 1);

Rezultat

21
3

Exemplul 3: Verificarea unei valori introduse

const varsta = Number("douăzeci");

if (Number.isNaN(varsta)) {
  console.log("Introdu vârsta în cifre.");
}

Rezultat

Introdu vârsta în cifre.

Greșeli frecvente

  • Aduni un text cu un număr și obții lipire în loc de adunare: "2" + 1 dă "21".
  • Compari cu NaN direct: x === NaN este mereu false. Folosește Number.isNaN(x).
  • Citești prețuri cu virgulă ("19,99"). parseFloat se oprește la virgulă și dă 19. Înlocuiește întâi virgula cu punct.

Comenzi înrudite

  • toFixed: Formatează un număr cu un număr fix de zecimale. Returnează text.
  • typeof: Returnează tipul unei valori ca text: „string”, „number”, „boolean”, „object” etc.
  • Math.round / floor / ceil: Rotunjește un număr: la cel mai apropiat întreg, în jos sau în sus.