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.

Int a char en C

Si ya viste el otro post en donde convertimos un carácter a un entero, sabrás que hacíamos una resta con los números ASCII, porque un carácter se representa también como un entero en esa tabla.

Por ejemplo, el carácter A tiene el número 97 en el código ASCII.

Partiendo de eso, si tenemos un entero, por ejemplo el 1, su representación en el ASCII es el 49, el número 2 tiene el 50 y así sucesivamente.

Entonces para convertir un entero a un carácter, simplemente le sumamos 48, o un ‘0’, el cual es 48 en el ASCII.

Así, si tenemos el número 1 entero y le sumamos 48, se convierte en 49. ¿Y cuál valor representa el 49 en el código ASCII? exacto, el ‘1’. Entonces convertimos 1 a ‘1’, y funciona para cualquier otro número siempre y cuando no sea mayor a 9.

Función que convierte un entero a carácter en C

Esta función es simple, de hecho podríamos hacer la conversión sin funciones, pues el código no es largo, pero por simplicidad la escribo aquí:

char enteroACaracter(int numero){
    return numero + '0';
}

Recibe un entero, devuelve un carácter. Si le mandas un número mayor a 9 no sé qué pase, pero no será nada bueno.

Probar conversión de int a char

Para implementar esa función usa este código:

/*
    Convertir int a char en C
    @author parzibyte
*/
#include <stdio.h> // printf
 
// Prototipo
char enteroACaracter(int numero);
 
int main(){
    int numero = 1;
    char comoCaracter = enteroACaracter(numero);
    printf("El entero %d se convierte a '%c' como carácter", numero, comoCaracter);
}
 
char enteroACaracter(int numero){
    return numero + '0';
}

Recuerda que puedes ver la operación inversa: char a int en C.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *