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.
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.
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:
Puedes probar el código aquí.
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:
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.
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
:
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í.
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.
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:
Y no sólo eso, también podemos trabajar con el tipo de dato double o long double para mayor precisión.
En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…
Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…
Hoy vamos a ver programar la impresión de un PDF generado a partir de HTML…
En este tutorial básico de JavaScript con HTML vamos a ver cómo llenar una lista…
En este artículo se presenta una guía para imprimir un PDF a partir de una…
En este post voy a enseñarte cómo imprimir un PDF a partir de su representación…
Esta web usa cookies.
Ver comentarios
Que buen post, estoy estudiando informatica y necesitaba saber aproximar en C, me salvaste!
Me da gusto que te haya ayudado :)
Saludos