Converti una stringa in un numero in JavaScript
-
Usa la funzione
Number()
per convertire una stringa in un numero in JavaScript -
Usa la funzione
parseInt()
per convertire una stringa in numero intero in JavaScript -
Usa l’oggetto
Math
per convertire una stringa in un numero intero in JavaScript - Conclusione
Dobbiamo aver avuto vari scenari per convertire un numero. Ad esempio, i dati recuperati da un’API o una query di database in un formato stringa in un numero. Poiché le stringhe vengono utilizzate in modo diverso, potrebbe essere necessario convertire queste stringhe in un formato numerico per eseguire operazioni aritmetiche su di esse con facilità. Ecco alcuni modi per farlo:
Number("123")
parseInt("123")
Math.floor("123.12")
Math.round("123")
Usa la funzione Number()
per convertire una stringa in un numero in JavaScript
Il Number()
è una funzione del costrutto Number
che può essere utilizzato per convertire altri tipi di dati in un formato numerico (come da MDN Docs). Restituisce NaN
se il parametro di input è indefinito o non convertibile in un numero. Per esempio:
console.log(Number('246'))
console.log(Number('246.5'))
console.log(Number(undefined))
console.log(Number('Hello'))
Produzione:
246
246.5
NaN
NaN
Usa la funzione parseInt()
per convertire una stringa in numero intero in JavaScript
Un altro modo per gestire i numeri di stringa è utilizzare il metodo parseInt()
di JavaScript. parseInt()
accetta due argomenti, uno è la stringa che deve essere convertita e l’altro è la radix
(significa la base). La maggior parte dei numeri con cui abbiamo a che fare nella nostra vita quotidiana sono solitamente in base a 10, che indica un valore decimale. Nella maggior parte dei casi, non è necessario specificare la radice poiché il valore predefinito è 10.
console.log(parseInt('123'));
console.log(parseInt('abc'));
console.log(parseInt('-123'));
console.log(parseInt('100.50'));
Produzione:
123
NaN
-123
100
parseInt("100.50")
restituisce 100 invece di 100.50, poiché converte il numero di input in un intero. Quindi, mentre si usa parseInt()
sii consapevole del fatto.
parseInt()
può anche convertire valori esadecimali e valori con diversi sistemi di numeri di base, come il sistema binario, il sistema ottale, ecc. Per maggiori informazioni, controlla la documentazione. Allo stesso modo, possiamo usare parseFloat()
per convertire una stringa in un numero a virgola mobile.
Usa l’oggetto Math
per convertire una stringa in un numero intero in JavaScript
Math
è un oggetto integrato in JavaScript che ha metodi per operazioni matematiche complesse. Funziona sul numero del tipo di dati. Ma pochi metodi di questo oggetto integrato vengono utilizzati per convertire la stringa in un numero intero. Per esempio,
console.log(Math.ceil('123'));
console.log(Math.floor('300'));
console.log(Math.abs('450'));
Produzione:
123
300
450
Tuttavia, c’è una trappola quando si utilizzano i metodi Math
per la conversione. Per i valori in virgola mobile, non possiamo usarli poiché li convertiranno in un numero intero. Quindi, perderemo la parte decimale del valore.
Math.ceil("220.5")
: restituisce221
. Prende il valore massimo, approssimando il numero decimale al valore intero successivo che è221
. Quindi, non possiamo usarlo per ottenere220.5
. In tali scenari utilizzareparseFloat()
.Math.floor("220.5")
: restituisce220
. Rispetto alla funzioneceil()
,floor()
restituisce il valore intero precedente. QuindiMath.floor()
non funzionerebbe per valori numerici in virgola mobile.Math.abs("450")
: può essere utilizzato poiché restituirà450
ma non funzionerebbe con valori interi negativi. Ad esempio, la seguente differenza non servirà al nostro scopo quando si tratta di valori interi negativi. Secondo i seguenti scenari:
console.log(Maths.abs('240.64'))
console.log(Math.abs('-240.25'))
Produzione:
240.64 // The decimal value of .64 is captured here
240.25 // -240.25 is transformed to 240.25
Conclusione
A seconda del valore che ci aspettiamo dal numero di stringa, l’opzione migliore sarà usare il metodo Number()
. Se stai giocando solo con valori interi, ti consigliamo di usare parseInt()
. Fai un uso giudizioso dell’oggetto Math integrato in JavaScript per convertire un numero di stringa poiché potrebbe essere complicato in base al metodo che utilizziamo.
Articolo correlato - JavaScript String
- Converti una stringa in una data in JavaScript
- Controlla l'uguaglianza delle stringhe in JavaScript
- Rimuovi l'ultimo carattere dalla stringa in JavaScript
- Aggiungi carattere alla stringa in JavaScript
- Converti intero in stringa in JavaScript
- Converti stringa in array in JavaScript