Como se muestra en otras respuestas aquí, hay varias formas de hacer la conversión:
Number('123');
+'123';
parseInt('123');
parseFloat('123.45')
Sin parseIntembargo, me gustaría mencionar una cosa más .
Cuando se usa parseInt, tiene sentido pasar siempre el parámetro radix . Para la conversión decimal, eso es 10. Este es el valor predeterminado para el parámetro, por lo que puede omitirse. Para binario, es un 2y 16para hexadecimal. En realidad, cualquier mezcla entre 2 y 36 obras incluidas.
parseInt('123') // 123 (don't do this)
parseInt('123', 10) // 123 (much better)
parseInt('1101', 2) // 13
parseInt('0xfae3', 16) // 64227
La parseIntfunción, bueno, analiza cadenas para convertirlas en números. En algunas implementaciones de JS, parseIntanaliza los ceros iniciales como octales:
Aunque desalentado por ECMAScript 3 y prohibido por ECMAScript 5, muchas implementaciones interpretan una cadena numérica que comienza con un 0 inicial como octal. Lo siguiente puede tener un resultado octal, o puede tener un resultado decimal. Siempre especifique una raíz para evitar este comportamiento poco confiable.
- MDN
El hecho de que el código se aclare es un buen efecto secundario de especificar el parámetro radix.
Como parseFloatsolo analiza las expresiones numéricas en la raíz 10, no hay necesidad de un parámetro de raíz aquí.
Más sobre esto: