Diego Orozco by Diego Orozco on December 10, 2023

100 Días de Javascript - 7 de 100 - Trabajando con distintos tipos de datos

Probablemente debí haber escrito estas notas antes de, o a la par, de las variables; sin embargo, creo que es adecuado tratar más a detalle el tema después de haber entendido conceptos anteriores, específicamente el manejo de strings o cadenas.

Ahora me centraré en describir casos que comúnmente enfrentamos al desarrollar aplicaciones que requieren manejar diferentes tipos de datos, teniendo ya el contexto de las notas anteriores sobre variables y strings, principalmente, ahora trataremos casos prácticos en donde se requiera transformar los tipos para realizar operaciones en los datos.

Convirtiendo strings a números

Javascript cuenta con dos funciones básicas para convertir cadenas de texto a números enteros o decimales.

La primera función se trata de parseInt(string) la cual toma una cadena de texto y devuelve un número entero, extrayendo solo la parte entera del número que se pone como parámetro. Si usamos parseInt con un número decimal, solo se devuelve la parte entera.

let numString = "10";
let parsedInt = parseInt(numString);
console.log(parsedInt); // Output: 10

let numString = "10.55";
let parsedInt = parseInt(numString);
console.log(parsedInt); // Output: 10

De manera adicional, se puede pasar un segundo argumento, después de la cadena de texto, para especificar la base numérica para el análisis de la cadena.

A continuación proporcionaremos a la función una cadena de texto con valores binarios para que esta sea procesada y convertida a un entero en base 10.

let numString = "1010";
let parsedIntBinary = parseInt(numString, 2); // procesar cadena como numero binario
console.log(parsedIntBinary); // Output: 10 (en base decimal)

Finalmente, tenemos la función parseFloat(string), la cual toma una cadena de texto y devuelve un número de punto flotante (número decimal). Cabe destacar que si la cadena contiene caracteres que no son números válidos hasta un punto, parseFloat devolverá el número hasta ese punto y luego ignorará el resto.

let numString = "10.55";
let parsedFloat = parseFloat(numString);
console.log(parsedFloat); // Output: 10.55

let numString = "10.55 is the number";
let parsedFloat = parseFloat(numString);
console.log(parsedFloat); // Output: 10.55

Es importante tener en cuenta que ambas funciones (parseInt y parseFloat) tratan de analizar el número desde el principio de la cadena. Si encuentran un carácter no numérico, dejarán de analizar la cadena y devolverán el número que han podido interpretar hasta ese momento.

Operaciones

Las funciones anteriores nos son de mucha utilidad cuando deseamos realizar operaciones entre tipos de datos mixtos y que requieren ser transformados con anterioridad, de lo contrario obtendremos errores o resultados inesperados que afectarán negativamente el cómputo de valores.

<< JS - Tipos booleanos | JS - Arrays >>