La funzione parseInt() di Javascript

La funzione parseInt() del linguaggio Javascript mi permette di convertire una stringa in un numero intero.

parseInt(x)

L'argomento x è una stringa o una variabile alfanumerica.

La funzione mi restituisce in uscita il valore numerico in formato intero.

Ad esempio, questo script esegue una concatenazione tra una stringa e un numero.

myVar = "123";
document.write(myVar+4);

In questi casi Javascript converte automaticamente l'operando numerico in una stringa. Poi esegue la concatenazione.

Il risultato in output è un'altra stringa

1234

In quest'altro script utilizzo la funzione parseInt() per convertire la variabile myVar che contiene la stringa "123" in un numero intero (123).

myVar = "123";
myVar = parseInt(myVar);
document.write(myVar+4);

In questo caso quando Javascript incontra l'operatore + lo esegue come operatore dell'addizione 123+4 perché entrambi gli operandi sono dei valori numerici.

Il risultato in output è la somma dei due numeri interi 123+4=127

127

La funzione parseInt è una delle funzioni di casting del linguaggio javascript.

Cosa accade se la stringa contiene anche lettere?

Se la variabile da convertire contiene anche lettere, il risultato della funzione parseInt() dipende dalla posizione dei numeri

Ad esempio, nel caso in cui i numeri sono all'inizio della stringa, quando Javascript incontra la prima lettera trasforma la stringa iniziale in un valore numerico intero.

myVar = "123abc";
myVar = parseInt(myVar);
document.write(myVar);

Il risultato in output è

123

Viceversa, se i numeri si trovano dopo una lettera, Javascript restituisce un errore NaN (Not a Number)

myVar = "abc123";
myVar = parseInt(myVar);
document.write(myVar);

Il risultato in output è

NaN

Per evitare l'errore NaN è utile verificare preventivamente se la stringa è convertibile in un numero oppure no tramite la funzione isNaN(x)

isNaN("abc12.5")

Quando la funzione restituisce il valore booleano false se la stringa x è convertibile in un numero

In questo esempio restituisce false perché la stringa "abc12.5" non è convertibile.

false

E così via.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Javascript

Le strutture di controllo

Gestione degli errori ed eccezioni

Le strutture cicliche

FAQ