TypeScript string to number: Guida pratica alla conversione

In questo articolo, vedremo come convertire una stringa in numero in TypeScript, esplorando diverse soluzioni pratiche e utili per gestire questa necessità. Capita spesso, soprattutto quando riceviamo dati dall’utente o da un’API, di dover trasformare una stringa in un numero. Ti guiderò passo dopo passo, con esempi chiari e semplici, spiegando cosa succede in ogni caso.


1. Perché convertire una stringa in numero in TypeScript?

In TypeScript, le stringhe e i numeri sono due tipi di dati distinti. Se proviamo a utilizzare una stringa come numero senza convertirla, otterremo un errore o un risultato inatteso. Ecco alcuni casi d’uso comuni:

  • Elaborare input utente: Un modulo di registrazione potrebbe richiedere un’età o un prezzo come input, che verrà letto come stringa.
  • Calcoli matematici: Se ricevi numeri come stringhe, devi convertirli prima di eseguire operazioni matematiche.
  • Parsing di dati da API: I dati provenienti da API spesso arrivano come stringhe e vanno trasformati in numeri per essere utilizzati.

2. TypeScript string to number: le principali soluzioni

Vediamo le varie opzioni per convertire una stringa in numero in TypeScript.

2.1. Utilizzare parseInt()

parseInt converte una stringa in un numero intero. Se la stringa contiene caratteri non numerici, smetterà di leggere appena li incontra.

Esempio:

const str = "42";
const num = parseInt(str);
console.log(num); // Output: 42

Dettagli:

  • È utile per ottenere solo la parte intera del numero.
  • Se la stringa inizia con un carattere non numerico, il risultato sarà NaN (Not a Number).
const str = "42abc";
const num = parseInt(str);
console.log(num); // Output: 42

const invalidStr = "abc42";
const numInvalid = parseInt(invalidStr);
console.log(numInvalid); // Output: NaN

2.2. Utilizzare parseFloat()

parseFloat converte una stringa in un numero decimale (floating point).

Esempio:

const str = "42.5";
const num = parseFloat(str);
console.log(num); // Output: 42.5

Dettagli:

  • Ideale per valori con cifre decimali.
  • Anche in questo caso, se la stringa inizia con un carattere non numerico, restituirà NaN.

2.3. Utilizzare l’operatore +

L’operatore + davanti a una stringa è il metodo più semplice e diretto per convertirla in numero.

Esempio:

const str = "42";
const num = +str;
console.log(num); // Output: 42

Dettagli:

  • È più compatto rispetto a parseInt e parseFloat.
  • Funziona sia per numeri interi che decimali.
  • Restituisce NaN se la stringa non può essere convertita in numero.

3. Gestire gli errori durante la conversione

Durante la conversione, potremmo incontrare errori o dati non validi. È importante gestire questi casi per evitare malfunzionamenti.

3.1. Controllare se il risultato è NaN

Possiamo usare la funzione isNaN() per verificare se il risultato è un numero valido.

Esempio:

const str = "abc";
const num = parseInt(str);

if (isNaN(num)) {
  console.log("Valore non valido!");
} else {
  console.log(`Il numero è: ${num}`);
}

4. Confronto tra i metodi

MetodoDescrizioneSupporta decimaliRestituisce NaN per valori non numerici
parseInt()Converte in interoNo
parseFloat()Converte in numero decimale
+ (unario)Conversione semplice e compatta

5. Consigli pratici

  • Scegli il metodo giusto in base al tipo di dato che devi convertire: parseFloat per valori decimali, parseInt per interi.
  • Gestisci sempre i casi di errore utilizzando isNaN().
  • Evita conversioni non necessarie: se hai già un numero, non c’è bisogno di riconvertirlo.

Conclusione

Abbiamo esplorato come convertire una stringa in numero in TypeScript utilizzando vari metodi come parseInt, parseFloat e l’operatore +. Scegliere il metodo giusto dipende dal contesto e dal tipo di dato che stai gestendo. Assicurati sempre di verificare la validità dei dati per evitare errori.


Risorse aggiuntive

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Torna in alto