Introducción

El lenguaje de programación C provee métodos para redondear números.

Vamos a estudiarlos a los 3 y veremos cómo redondear según el número, redondear hacia abajo y redondear hacia arriba.

Las funciones que permiten eso vienen en la librería math.h.

Recuerda que esto mismo hicimos con JavaScript hace algún tiempo.

Librería y explicación

La librería la incluimos con #include<math.h>. Como lo dije, veremos 3 métodos:

Redondear según el número: por ejemplo, si el número después del punto es 5, se redondea hacia abajo. En caso de que no, se redondea hacia arriba.

Por poner un ejemplo, 0.5 (y los mayores a él, siempre y cuando sean menor que 1) se redondea a 1 y 0.4999 (así como los menores a él) se redondea a 0.

Redondear hacia abajo: no importa la parte fraccionaria, siempre se redondeará hacia abajo.

Por poner un ejemplo, tanto 0.9, 0.5 y 0.1 se redondean a 0.

Finalmente, redondear hacia arriba: es como la anterior, pero ahora todos los números se redondean al siguiente entero próximo. 0.1, 0.5 y 0.9 se redondean a 1.

Eso fue por poner ejemplos, pero no sólo funcionan con números menor que 1, funcionan con cualquiera de ellos.

Redondear números en C con round

Veamos el primer método en donde depende de la parte fraccionaria el redondeo del número. Para esto, C proporciona el método round; que recibe un número y lo devuelve redondeado. Algunos ejemplos:

0.5 redondeado con round es: 1.00
50.48 redondeado con round es: 50.00
20.24 redondeado con round es: 20.00
9.7 redondeado con round es: 10.00
10.5 redondeado con round es: 11.00

Aquí un programa que imprime eso:

See the gist on github.

Puedes probar el código aquí.

Redondear hacia abajo con floor

Ya vimos arriba que round se usa para redondear según el número, pero si queremos que siempre se redondee hacia abajo usamos floor. Veamos este ejemplo:

See the gist on github.

La salida es:

0.5 redondeado con floor es: 0.00
50.99 redondeado con floor es: 50.00
20.24 redondeado con floor es: 20.00
0.1 redondeado con floor es: 0.00
10.5 redondeado con floor es: 10.00

Aquí un replit de prueba.

Usar ceil para redondear hacia arriba: lo contrario a floor

ceil funciona para hacer lo contrario a floor; esto es redondear hacia arriba un número.

Aquí el código que es muy parecido al de floor:

See the gist on github.

Cuando ejecutamos este programa, se imprime lo siguiente:

0.5 redondeado con ceil es: 1.00
50.99 redondeado con ceil es: 51.00
20.24 redondeado con ceil es: 21.00
0.1 redondeado con ceil es: 1.00
10.5 redondeado con ceil es: 11.00

Pruébalo tú mismo aquí.

¿Cuál usar?

Todo depende de nuestras necesidades.

Escribí esta entrada para explicar la función floor que usaré en un post de búsqueda binaria en C que estoy preparando; ahí necesito siempre redondear hacia abajo y esta función viene de maravilla.

Conclusión y notas finales

Recordemos que en este caso únicamente estamos imprimiendo. Pero como en todo lenguaje, podemos asignar el resultado a una variable.

Por ejemplo, veamos este fragmento de código:

See the gist on github.

Y no sólo eso, también podemos trabajar con el tipo de dato double o long double para mayor precisión.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

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/

Ver comentarios

Compartir
Publicado por
parzibyte

Entradas recientes

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

4 días hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

4 días hace

Imprimir PDF generado con HTML

Hoy vamos a ver programar la impresión de un PDF generado a partir de HTML…

5 días hace

JavaScript: llenar select con arreglo

En este tutorial básico de JavaScript con HTML vamos a ver cómo llenar una lista…

2 semanas hace

Imprimir PDF a partir de URL

En este artículo se presenta una guía para imprimir un PDF a partir de una…

2 semanas hace

Imprimir PDF a partir de base64

En este post voy a enseñarte cómo imprimir un PDF a partir de su representación…

2 semanas hace

Esta web usa cookies.