Articolo originale: parseInt() in JavaScript – JS String to Int Example

In questo tutorial parleremo della funzione parseInt in JavaScript. Questa funzione analizza una stringa e restituisce un numero o NaN (Not a Number).

Come funziona parseInt

Lo scopo principale della funzione parseInt è quello di estrarre un numero da una stringa e restituire l'effettivo valore numerico.

La sintassi:

parseInt(stringa)


Consideriamo questo esempio:

const myNumber = '3';
console.log(2 + myNumber);
// restituisce 23

Nell'esempio qui sopra, 3 è una stringa e non un numero. Quando aggiungiamo 2 otteniamo 23, cioè una concatenazione tra stringhe.


Con la funzione parseInt possiamo estrarre il 3 dalla stringa e trasformarlo in un numero (da '3' a 3). Ecco come:

const myNumber = '3';
console.log(2 + parseInt(myNumber));
// restituisce 5

La funzione parseInt potrebbe restituire un numero o NaN. Quand'è che otteniamo NaN come valore?

Potrebbe succedere se c'è del testo prima del numero. Qualcosa come "age is 50" restituirebbe NaN perché la funzione parseInt tiene conto solo del primo valore della stringa. Se non è un numero restituisce NaN:

const age = 'age is 50';
console.log(parseInt(age));
// restituisce NaN

Riorganizziamo la stringa e vediamo cosa succede.

const age = '50 is the age';
console.log(parseInt(age));
// restituisce 50

Quando il primo valore della stringa è un numero, quel numero viene restituito correttamente.

Ricorda che la funzione parseInt ignora i valori float (con la virgola). Se l'età fosse 50.05 ritornerebbe solo 50 ignorando la parte decimale.

Nel caso in cui la stringa contenesse più di un numero come  "50 100 150 200"  la funzione restituirebbe solo il primo numero, 50. Questo perché parseInt considera solo il primo valore.

Mentre se iniziasse senza spazi, '50istheage', la funzione restituirebbe correttamente la parte iniziale numerica.

Il parametro radice

La funzione parseInt accetta un secondo parametro conosciuto come radice. Questo parametro specifica quale base numerica utilizzare. Se viene omesso, viene usato 10 di default.

La sintassi:

parseInt(stringa, radice)

La base consentita è un numero tra 2 e 36. Se il valore è minore di 2 o maggiore di 36 la funzione restituisce NaN.

Specificare una radice di 12 implica che il numero nella stringa sia convertito dalla base duodecimale a quella decimale.

Ecco un piccolo esempio:

console.log(parseInt("50", 12));

// restituisce 60

Otteniamo 60, che è il valore corrispondente in base 10.

Conclusione

In questo tutorial abbiamo imparato come usare la funzione parseInt per estrarre numeri da stringhe.

Inoltre con l'utilizzo del secondo parametro, radice, possiamo specificare quale base numerica verrà utilizzata per la conversione.

Grazie per aver letto!