Cómo convertir una cadena a un número en JavaScript: Métodos y ejemplos
Introducción
Al trabajar con JavaScript, es común encontrarse con situaciones en las que necesitas convertir una cadena a un número. Ya sea que estés tratando con entrada de usuario, datos de una API o manipulando valores en tu código, saber cómo convertir correctamente una cadena a un número es una habilidad esencial para cualquier desarrollador de JavaScript.
Problema
Las cadenas y los números son tipos de datos fundamentalmente diferentes en JavaScript. Mientras que puedes realizar operaciones matemáticas en números, las mismas operaciones en cadenas producirán resultados diferentes y a menudo inesperados. Para evitar errores y asegurarte de que tu código funcione como se espera, necesitas convertir las cadenas a números cuando sea necesario.
Contexto
JavaScript proporciona varios métodos integrados para convertir una cadena a un número, cada uno con un comportamiento ligeramente diferente:
Number()
: Esta función convierte la cadena a un número. Si la cadena no contiene un número válido, devuelveNaN
(Not a Number).Operador unario plus (
+
): Colocar un+
antes de una cadena es una forma abreviada de convertirla a un número, equivalente a llamar aNumber()
.parseInt()
yparseFloat()
: Estas funciones analizan una cadena y devuelven un número entero o un número de punto flotante, respectivamente. Se detienen al analizar el primer carácter no numérico.Métodos de
Math
:Math.floor()
,Math.ceil()
yMath.round()
se pueden usar conparseFloat()
para convertir una cadena a un número entero con diferentes comportamientos de redondeo.
Solución
Aquí te mostramos cómo puedes convertir una cadena a un número en JavaScript utilizando los diferentes métodos:
Usando Number()
:
let str = "123";
let num = Number(str);
console.log(num); // 123
Usando el operador unario plus (+
):
let str = "123";
let num = +str;
console.log(num); // 123
Usando parseInt()
y parseFloat()
:
let intString = "123px";
let floatString = "123.45px";
let intNum = parseInt(intString);
let floatNum = parseFloat(floatString);
console.log(intNum); // 123
console.log(floatNum); // 123.45
Usando métodos de Math
:
let str = "123.45";
let num = Math.floor(parseFloat(str));
console.log(num); // 123
Al decidir qué método usar, considera lo siguiente:
- Usa
Number()
o+
cuando esperes que la cadena sea un número válido. - Usa
parseInt()
oparseFloat()
cuando la cadena pueda contener caracteres no numéricos y quieras extraer el número inicial. - Usa métodos de
Math
conparseFloat()
cuando necesites convertir a un número entero con un redondeo específico.
Recuerda manejar los casos en los que la conversión pueda fallar, como verificar los resultados NaN
.
Conclusión
Convertir cadenas a números es una tarea fundamental en la programación de JavaScript. Al comprender los diferentes métodos disponibles y sus matices, puedes escribir código que maneje adecuadamente las conversiones de cadena a número. Ya sea usando Number()
, el operador unario plus, parseInt()
/parseFloat()
o métodos de Math
, elige el enfoque que mejor se adapte a tus necesidades específicas. Con este conocimiento, podrás abordar las conversiones de cadena a número con confianza y construir aplicaciones de JavaScript más robustas.