Come mostrato da altre risposte qui, ci sono diversi modi per fare la conversione:
Number('123');
+'123';
parseInt('123');
parseFloat('123.45')
Vorrei citare ancora una cosa parseInt.
Durante l'utilizzo parseInt, ha senso passare sempre il parametro radix . Per la conversione decimale, cioè 10. Questo è il valore predefinito per il parametro, motivo per cui può essere omesso. Per binario, è un 2e 16per esadecimale. In realtà, qualsiasi radix tra e compreso 2 e 36 opere.
parseInt('123') // 123 (don't do this)
parseInt('123', 10) // 123 (much better)
parseInt('1101', 2) // 13
parseInt('0xfae3', 16) // 64227
La parseIntfunzione, beh, analizza le stringhe per convertirle in numeri. In alcune implementazioni di JS, parseIntanalizza gli zeri iniziali come ottali:
Sebbene scoraggiato da ECMAScript 3 e proibito da ECMAScript 5, molte implementazioni interpretano una stringa numerica che inizia con uno 0 iniziale come ottale. Quanto segue può avere un risultato ottale o può avere un risultato decimale. Specifica sempre una radice per evitare questo comportamento inaffidabile.
- MDN
Il fatto che il codice diventi più chiaro è un piacevole effetto collaterale della specifica del parametro radix.
Poiché parseFloatanalizza solo espressioni numeriche in radix 10, qui non è necessario un parametro radix.
Maggiori informazioni su questo: