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!