convertir

Codificar y decodificar JSON en JavaScript y Node JS

Codificar y decodificar JSON con JavaScript

JSON en JavaScript sirve para muchísimas cosas. En los casos más comunes, al hacer peticiones AJAX viene bien codificar los datos como JSON antes de enviarlos.

Por otro lado, si tenemos a JavaScript del lado del servidor, igualmente podríamos decodificar los datos que un cliente mande; o codificarlos antes de hacer otra petición.

Codificar y decodificar JSON en JavaScript y Node JS

Codificar y decodificar JSON en JavaScript y Node JS

Otros usos, que si bien no son los mejores, son para comparar objetos en profundidad.

Hoy veremos cómo codificar y decodificar JSON en JavaScript sin usar eval ni librerías extras.

Continue reading…

Convertir entero a char en C

Hoy veremos la operación inversa a convertir un char a un entero en C, es decir, convertir un número entero a su representación en carácter. Por ejemplo, convertir 1 a ‘1’.

Esta conversión no funciona para números mayores a 9, porque ya no tienen un único dígito; para ello mejor podemos ver cómo convertir un número a cadena en C, en lugar de convertirlo a char.

Pero bueno, vamos allá y veamos cómo convertir un dígito entero a carácter en C.

Continue reading…

Hexadecimal a decimal en C

Hexadecimal a decimal en C

Ya hemos visto algunas conversiones entre números de distintas bases usando C. Por ejemplo:

Vamos a seguir con estos tutoriales y ahora veremos cómo convertir un número hexadecimal a decimal en C; o sea, convertir de base 16 a base 10.

Hexadecimal a decimal en C

Hexadecimal a decimal en C

Lecturas recomendadas

Para no alargar mucho este tutorial he puesto algunas explicaciones en otros lugares. Te invito a leerlas:

Ahora sí vamos allá.

Continue reading…

Castear valores en MysQL

Introducción

MySQL es el gestor de base de datos más querido. Seguramente alguna vez vamos a querer castear un valor.

Castear un valor es cambiar su tipo, o convertirlo a otro tipo de dato. Por ejemplo, puede que necesitemos convertir una cadena a entero, a flotante, booleano, etcétera.

En mi caso tenía que cambiar todos los datos de mi tabla para que dejaran de ser flotantes y fueran enteros.

Veamos entonces algunos ejemplos de cómo castear o cambiar valores en MySQL.

Sintaxis

Bueno, MySQL en su sitio oficial dice que la sintaxis es:

CAST(columna AS NUEVO_TIPO_DE_DATO);

Es una función que castea valores. Y los tipos de datos son:

  • BINARY
  • CHAR
  • DATE
  • DATETIME
  • DECIMAL
  • JSON
  • NCHAR
  • SIGNED
  • TIME
  • UNSIGNED

Para convertir a entero elegimos SIGNED o UNSIGNED. La diferencia es que el que tiene signo soporta valores negativos, y el unsigned sólo soporta enteros (útil cuando queremos almacenar grandes números positivos).

Ejemplos

Decimal o flotante a entero

Cuando queremos convertir un valor flotante (como 9.5) a entero, el primer valor se redondeará hacia abajo o hacia arriba.

Esto depende de la parte decimal. Si la parte decimal es menor que cinco, entonces se redondea hacia abajo. Si es 5 o mayor que eso, se redondea hacia arriba.

Aquí algunas pruebas:

SELECT CAST(9.5 AS SIGNED); # Salida => 10
SELECT CAST(0.5 AS SIGNED); # Salida => 1
SELECT CAST(0.4 AS SIGNED); # Salida => 0
SELECT CAST(1.3335 AS SIGNED); # Salida => 1
SELECT CAST(1.50000 AS SIGNED); # Salida => 2

 

Entero a flotante

De esta conversión no hay mucho que decir. Simplemente redondeará y agregará los ceros a la derecha del punto.

Te invito a leer este post sobre decimales para entender mejor la conversión.

Si convertimos, por ejemplo, el entero 5 a un decimal con una precisión de 3, este se convertirá en 5.000.

Aquí algunos ejemplos:

SELECT CAST(5 AS DECIMAL(7, 3)); # Salida => 5.000
SELECT CAST(5 AS DECIMAL(7, 5)); # Salida => 5.00000

Si no entiendes el número 7, lee el post que mencioné arriba. Básicamente le decimos a MySQL que la mayor longitud del número será de 7 cifras, y el número a la derecha (3 y 5 respectivamente) es para indicar cuántos decimales se ocuparán.

En el primer caso ocupamos 3 decimales y en el segundo 5.

Entero a cadena

Igual esto es de lo más sencillo. Simplemente convertimos un entero, que será el mismo entero pero representado como cadena. 5 se convierte en “5”.

La diferencia es que podemos operar con funciones de cadena, ya que ahora sí serán de ese tipo. De todos modos he probado y no hay diferencia entre trabajar con cadena o con enteros, ya que el motor infiere.

Aunque si queremos asegurarnos, podemos hacerlo así:

SELECT CAST(123 AS CHAR); # Resultado => 123

Entero a booleano

Ahora veamos cómo convertir un número a true o false, o lo mismo que convertir un int a un booleano.

MySQL no proporciona una función para esto, pero podemos utilizar la función IF.

Conclusión

Como podemos ver, podemos castear cualquier tipo de dato a otro tipo de dato, aunque primero debemos evaluar los resultados para no confundirnos ni realizar cosas erróneas.

Imprimir o convertir a PDF código fuente con VSCode

Imprimir o convertir a PDF código fuente con VSCode

Introducción

Nuestro código fuente luce bien en nuestro editor, pero cuando lo queremos pasar a otro lugar como un documento de texto o un documento PDF, se le quitan los colores y las tabulaciones.

Hoy veremos cómo podemos convertir nuestro código a PDF, para poder imprimirlo, presentarlo, enviarlo o lo que sea.

Este tutorial se basa en una extensión para el maravilloso editor de texto VSCode.

Imprimir código fuente

Lo que tenemos que hacer es tener instalado VSCode. Después, instalamos la extensión llamada PrintCode.

Podemos ir al enlace que dejo arriba, o en nuestro editor buscar la extensión:

La instalamos y recargamos nuestro IDE.

Ahora abrimos un archivo que tengamos y que deseemos imprimir. Presionamos F1 o Ctrl + Shift + P y escribimos PrintCode:

Presionamos enter y automáticamente se abrirá una pestaña en nuestro navegador preferido…

Si utilizamos Chrome o uno de sus hermanos, podemos guardar como PDF. También podremos imprimir a una impresora física.

En caso de utilizar otro navegador, las opciones cambian, pero siempre hay opciones para imprimir a una impresora virtual o convertir el documento a XPS.

Finalmente aquí dejo el documento PDF generado. Se trata de unos ejercicios de MySQL resueltos.

Convertir cadena a arreglo en Javascript

Introducción

A veces necesitamos convertir una cadena o palabra en un arreglo. Ya sea que la palabra esté separada por espacios, por comas o por nada.

Puede que necesitemos convertir una cadena en un arreglo, es decir, algo como “Hola” en [“H”, “o”, “l”, “a”]. También es posible que deseemos convertir algo como “perro,gato” en [“perro”, “gato”].

En fin, sigamos leyendo para ver cómo convertir una palabra, cadena o texto en un arreglo.

Split en Javascript

Para convertir una palabra en un arreglo utilizamos split. Split es un método nativo que tienen todas las cadenas. Devuelve un arreglo, recibe un separador.

Por ejemplo, si queremos convertir “Hola” en [“H”, “o”, “l”, “a”]:

var arreglo = "Hola".split("");
// Salida => ["H", "o", "l", "a"]

En caso de que sea separado por comas…

var arreglo = "perro,gato,tucán".split(",");
//Salida => ["perro", "gato", "tucán"]

Si queremos separar espacios…

var arreglo = "Google Facebook Twitter".split(" ");
//Salida => ["Google", "Facebook", "Twitter"]

Con split podemos separar utilizando cualquier separador. Incluso un guión bajo, un salto de línea (representado por \n), etcétera.

Con ES6

Si no nos preocupamos por problemas de compatibilidad con versiones anteriores, podemos utilizar Array.from. Lo malo es que separa toda la palabra y no permite especificar el separador (como split).

Podemos hacerlo así, de todos modos:

var arreglo = Array.from("Hola");
//Salida => ["H", "o", "l", "a"]

 

Char a Int en Arduino

Si queremos convertir un char a entero en Arduino, podemos usar:

char c = '5';
int convertido = int(c);

El resultado sería el número 53, porque el número 5 es el carácter ASCII número 53. Nosotros no queremos eso, nosotros esperábamos un que ‘5’ se convirtiera en 5. Para obtener lo que realmente necesitamos, podemos usar lo siguiente:

char c = '5';
int convertido = String(c).toInt();

Ahora sí, el resultado sería 5 como entero. De esta forma podemos convertir carácter a entero, e incluso String a entero.