Come convertire da string a integer in JavaScript

di Lorenzo Neri

Come convertire da string a integer in JavaScript? Non è purtroppo un processo lineare e lo scopriamo in questo articolo.

Javascript a volte può risultare assurdo: ci sono casi più assurdi di questo che ho voluto riportare in questo articolo, ma il processo da eseguire per convertire un valore string a uno integer non è affatto lineare così come potrebbe esserlo in altri linguaggi di programmazione.

Ciao mi chiamo Lorenzo Neri e sono un informatico: realizzo contenuti per aiutare le persone a padroneggiare l’arte del nuovo millennio, ovvero l’informatica!

A dire il vero in JavaScript esiste più di un modo per effettuare la conversione “string to integer”: per questo ho scritto che “non è un processo lineare”.

Ciò detto, scopriamoli.

Number per convertire da string a integer

All’interno di JavaScript esiste una funzione nativa: il suo nome è “Number”.

Il funzionamento della funzione “Number” in JavaScript, è semplicissimo:

var variabileIntera = Number("12345");

Tuttavia, non è troppo completa mi spiego meglio: non lancia alcuna eccezione, non riporta errori se la stringa passata come argomento NON è un numero.

I metodi parseInt e parseFloat

Il loro funzionamento è analogo a quanto visto prima, con la differenza che il metodo “parseInt” permette anche di specificare la base del numero.

Questo significa che possiamo estrapolare numeri esadecimali, in base ottale e binari.

Ovviamente anche numeri decimali.

Per convertire un valore string a integer tramite “parseInt” è il seguente:

var variabileIntera = parseInt("12345", 10);

Nel caso non si fosse capito, il secondo argomento della funzione è la base del numero che si vuole convertire 😉

Succede però una cosa curiosa, anzi assurda se provi a sommare una stringa al valore appena convertito:

var numeroDaConvertire=parseInt("123", 8);
numeroDaConvertire+="55";

Se stampiamo a video tramite “console.log” otterremmo questo risultato: (preciso che “88” è “123” in base 8):

83
8355

Conversione string to int grazie a Math.floor

Math.floor è un’altra funzione del modulo “Math” che JavaScript mette a disposizione.

A che cosa serve di base “Math.floor”? Lo scopro principale di questa funzione è arrotondare il numero passato come argomento a un valore NUMERICO intero.

Il caps lock su “numerico” non è a caso: anche se viene passata una stringa come argomento, la funzione restituisce un valore integer.

Facciamo un esempio immediato:

// La stringa contiene un numero decimale
var numeroStringa = "1000.01";
// La converto a intero tramite la funzione
var numeroIntero = Math.floor(numeroStringa);
// Otterrò come risultato un bel 1000 integer

Dopo aver capito le varie strade a nostra disposizione per convertire da string a integer, ti lascio con un bonus.

Se è tua intenzione usare più volte la funzione “Math.floor”, puoi fare così:

var floor = Math.floor;
// La uso una volta
var numeroIntero = floor("181818");
// La uso una seconda volta
var numeroIntero2 = floor("44.77");
// La uso una terza volta
var numeroIntero3 = floor("9283928392");

Continua a scoprire di più con questi articoli!

Lascia un commento

Questo sito potrebbe fare uso di cookie e siccome l'UE mi obbliga a fartelo presente, eccoti il classico banner dove puoi decidere come gestirli. Accetta Leggi di più