JavaScript: convertire le stringhe in numeri

JavaScript: convertire le stringhe in numeri

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 = '4';
var num = Number(str);
console.log(num + ' ' + typeof num); // 4 'number'

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


var str = 'blue';
var num = Number(str);
console.log(num + ' ' + typeof num); // NaN NaN

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 = '4blue';
var n = parseInt(str);
var num = Number(n);
console.log(num + ' ' + typeof num); // 4 'number'

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 = '4blue';
var n = str.replace(/[^\d]+/g, '');
var num = Number(n);
console.log(num + ' ' + typeof num); // 4 'number'

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

Torna su