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); // 123Usando el operador unario plus (+):
let str = "123";
let num = +str;
console.log(num); // 123Usando 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.45Usando métodos de Math:
let str = "123.45";
let num = Math.floor(parseFloat(str));
console.log(num); // 123Al 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
MathconparseFloat()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.

