Como se muestra en otras respuestas aquí, hay varias formas de hacer la conversión:
Number('123');
+'123';
parseInt('123');
parseFloat('123.45')
Sin parseInt
embargo, 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 2
y 16
para 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 parseInt
función, bueno, analiza cadenas para convertirlas en números. En algunas implementaciones de JS, parseInt
analiza 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 parseFloat
solo 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: