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.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

2 días hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

1 semana hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

1 semana hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

1 semana hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

1 semana hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

1 semana hace

Esta web usa cookies.