JavaScript

Cómo convertir un string a int en Javascript

Cómo convertir un string a int en Javascript
493Vistas

Cuando se trabaja con el lenguaje de programación Javascript, es común encontrarse en situaciones en las que sea necesario convertir un string (cadena de caracteres) a un int (número entero).

Esto puede ser al momento de realizar cálculos matemáticos o al manipular información recibida de bases de datos o formularios. Afortunadamente, Javascript cuenta con funciones integradas que facilitan esta conversión, y en este artículo te mostraremos cómo utilizarlas de manera eficiente.

¿Qué es un string y un int?

Antes de adentrarnos en el proceso de conversión, es importante entender la diferencia entre un string y un int. Un string es una secuencia de caracteres, por ejemplo, «123», «hola» o «Javascript». Por otro lado, un int es un número entero que no incluye decimales ni comas, como por ejemplo 123, -10 o 0.

En Javascript, estos dos tipos de datos se utilizan para distintos propósitos. Mientras que los strings están a menudo relacionados con texto y manipulación de cadenas, los ints se utilizan para realizar operaciones matemáticas.

Métodos para convertir un string a int en Javascript

Existen varias formas de convertir un string a int en Javascript, cada una con sus propias características y usos específicos. A continuación, veremos las más comunes y explicaremos en qué casos es más conveniente utilizar cada una de ellas.

parseInt()

La función parseInt() es la manera más estándar y común de convertir un string a int en Javascript. Esta función toma como argumento una cadena y devuelve un número entero basado en la parte numérica de la cadena. Por ejemplo:

let numero = parseInt("123"); // Devuelve 123

let texto = parseInt("hola"); // Devuelve NaN (Not a Number)

Como se puede ver en el ejemplo, si el string no contiene ningún número, parseInt() devuelve NaN.

Además, es posible pasar un segundo argumento a esta función para especificar la base numérica en la que se encuentra la cadena. Por defecto, la base es 10, pero se puede cambiar a cualquier valor entre 2 y 36. Por ejemplo:

let numeroBin = parseInt("1100", 2); // Devuelve 12

En este caso, al especificar una base de 2, la función interpreta el string como un número binario.

Number()

La función Number() también permite convertir un string a int en Javascript. A diferencia de parseInt(), esta función devuelve un número decimal en lugar de un entero. Veamos un ejemplo:

let numero = Number("123"); // Devuelve 123

let numeroDecimal = Number("123.5"); // Devuelve 123.5

Ten en cuenta que si la cadena contiene algún caracter no numérico, Number() devuelve NaN, al igual que parseInt().

parseFloat()

Para convertir un string a un número decimal, podemos utilizar la función parseFloat(). Esta función funciona de manera similar a parseInt(), pero en lugar de devolver un número entero, devuelve un número con decimales. Veamos un ejemplo:

let numero = parseFloat("123.5"); // Devuelve 123.5

let numero2 = parseFloat("3.14"); // Devuelve 3.14

Al igual que con parseInt(), es posible especificar la base numérica como segundo argumento, pero no es necesario ya que parseFloat() solo interpreta la parte numérica de la cadena.

Consideraciones al convertir un string a int en Javascript

Al utilizar cualquiera de estos métodos para convertir un string a int en Javascript, es importante tener en cuenta algunas consideraciones para evitar posibles errores en nuestro código.

  • Si el string contiene un número seguido de algún caracter no numérico, la función devolverá solamente el número encontrado antes de ese caracter. Por ejemplo, parseInt(«123a») devuelve 123.
  • Si el string es vacío, todas las funciones (parseInt(), Number() y parseFloat()) devolverán NaN.
  • En caso de que queramos convertir un string con decimales a un número entero, podemos utilizar el método toFixed() para eliminar los decimales antes de utilizar alguna de estas funciones.
  • Al utilizar la función parseInt() con números binarios, es importante asegurarse de que el string contiene únicamente números binarios. En caso contrario, devolverá un número incorrecto.
  • Si se utiliza la función Number() con un string que contiene un punto (.) y no se especifica la base numérica, se devolverá NaN.
  • En el caso de utilizar parseFloat(), la coma (,) no es considerada como parte de un número decimal, por lo que al pasar un string con esta característica, se devolverá NaN.

En resumen, es importante tener en cuenta el tipo de dato que se está manejando y las características del string antes de elegir el método de conversión más adecuado para cada caso.

Ejemplo de código completo

Para ilustrar cómo funcionan las distintas funciones de conversión en Javascript, te mostraremos un ejemplo de código que utiliza cada una de ellas y muestra el resultado en consola:

let str = "10";

let strDec = "10.5";

let strBinary = "101";

let strError = "hola";




console.log('Convertir a int con parseInt(): ' + parseInt(str)); // Devuelve 10

console.log('Convertir a int con Number(): ' + Number(str)); // Devuelve 10

console.log('Convertir a decimal con parseFloat(): ' + parseFloat(strDec)); // Devuelve 10.5

console.log('Convertir a binario con parseInt(): ' + parseInt(strBinary, 2)); // Devuelve 5

console.log('Intento de conversión con algún caracter no numérico: ' + parseInt(strError)); // Devuelve NaN

Comentarios finales

En conclusión, convertir un string a int en Javascript es una tarea sencilla gracias a las funciones integradas que el lenguaje ofrece.

Es importante entender las diferencias y características de cada una de ellas para utilizar la más adecuada según el contexto en el que se esté trabajando.

Al seguir las recomendaciones y consideraciones mencionadas en este artículo, podrás realizar esta conversión eficientemente y evitar errores en tu código.

¡Ahora es tu turno de poner en práctica lo aprendido!

Deja una respuesta