3D e 3E: Come convertite le stringhe in numeri in Javascript




<html>

<head>

<script language="Javascript">

//Convertire stringhe in numeri con JavaScript è un compito abbastanza semplice se si conosce il costruttore Number. Se questo oggetto base viene usato come metodo, restituisce il valore numerico di una stringa.


//Ecco un esempio:

var str = '10';

var num = Number(str);

document.write(num + ' ' + typeof num); // 10 'number'

document.write("<br>");

// La conversione funziona perché la stringa è numerica. Se invece avessimo avuto:

var str = 'rosso';

var num = Number(str);

document.write(num + ' ' + typeof num + str); // NaN NaN

document.write("<br>");


// avremmo ottenuto NaN, ossia Not A Number, perché la stringa non è numerica. Nel caso in cui abbiamo una stringa mista composta da una parte numerica e da una non numerica:

var str = '10rosso';

var n = parseInt(str);

var num = Number(n);

document.write(num + ' ' + typeof num + str); // 10 'number'

document.write("<br>");

// possiamo usare parseInt() o parseFloat() per estrarre la porzione numerica dalla stringa. A volte questo non basta e in quel caso possiamo usare le espressioni regolari:

var str = '10rosso';

var n = str.replace(/[^\d]+/g, '');

var num = Number(n);

document.write(num + ' ' + typeof num); // 10 'number'

// In questo caso l'espressione regolare rimuove tutto cio' che non è numerico dalla stringa.

</script>

</head>

<body>

</html>

Commenti