La funzione parseFloat() di Javascript

La funzione parseFloat() del linguaggio Javascript mi consente di trasformare una stringa in un numero a virgola mobile (floating point number).

parseFloat(x)

L'argomento x della funzione è una stringa oppure una variabile alfanumerica.

La funzione parseFloat() converte la stringa in un valore numerico in virgola mobile (numero decimale).

Ad esempio, in questo script uso la funzione parseFloat() per convertire la variabile myVar che contiene la stringa "12.5" in un numero intero (12.5).

myVar = "12.5";
myVar = parseFloat(myVar);
document.write(myVar+4);

In questo modo Javascript può sommare i due valori numerici 12.5+4 restituendo in uscita il numero 16.5

16.5

Senza la conversione della variabile myVar in un tipo numerico (float) l'interprete avrebbe effettuato una concatenazione tra stringhe.

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

Cosa accade se la stringa contiene anche delle lettere oltre ai numeri?

Il risultato dipende dalla posizione dei numeri.

Se i numeri si trovano prima delle lettere, Javascript converte la parte numerica iniziale in un numero.

Ad esempio

myVar = "12.5abc345";
myVar = parseFloat(myVar);
document.write(myVar);

Quando Javascript incontra il primo carattere non numerico considera concluso il numero.

In questo caso, qualsiasi carattere dopo la lettera "a" anche se è un carattere numerico (es. 345) viene ignorato dall'interprete Javascript.

Il risultato in output è un valore numerico in virgola mobile

12.5

Viceversa, se i numeri si trovano dopo una lettera, Javascript restituisce un errore

myVar = "abc12.5";
myVar = parseFloat(myVar);
document.write(myVar);

Il risultato in output è NaN (Not a Number)

NaN

Per evitare gli errori NaN c'è un'apposita funzione in Javascript che mi permette di verificare se una stringa è convertibile in numero oppure no.

E' la funzione isNaN(x)

isNaN("abc12.5")

La funzione restituisce true se la stringa x non è convertibile oppure false se è convertibile in un numero.

In questo caso restituisce false.

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