Convertire stringhe in numeri con JavaScript è un compito abbastanza semplice se si conoscono alcune strategie da mettere in atto.
In modo generico, possiamo usare il costruttore Number. Ecco un esempio:
const str = '4';
const num = Number(str);
console.log(num + ' ' + typeof num); // 4 'number'
La conversione funziona perché la stringa è numerica. Se invece avessimo avuto:
const str = 'blue';
const 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:
const str = '4blue';
const num = parseInt(str);
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:
const str = '4blue';
const n = str.replace(/\D+/g, '');
const num = parseInt(n);
console.log(num + ' ' + typeof num); // 4 'number'
In questo caso l'espressione regolare rimuove tutto ciò che non è numerico dalla stringa.