Redondeando en C
Una
sencilla forma de rendoear en C es emplear la posibilidades que ofrece
la función prinft
de formatear la salida. Así para redondear un número X a k digítos decimales se puede
emplear:
printf("%.kf", X)
donde habría que sustituir el valor de k por el número de
dígitos que se desean rendodear.
Otra forma que nos permite almacenar el resultado parcialmente
sería construirse una función
específica para el rendondeo. Para ello empleamos la siguiente
expresión:
round(X,k) = floor(10^k X + (1/2)) /
10 ^k
A continuación se muestra un ejemplo de la
implementación
#include <stdio.h>
#include <math.h>
double round(double X, int k)
{
return floor( pow(10,k)*X + 0.5) / pow(10,k) ;
}
int main(int argc, char * argv[])
{
double a;
a = 1.235567783;
printf("round(%2.9f) = %.9f\n", a, round(a,2));
printf("round(%2.9f) = %.2f\n", a, a);
return 0;
}
Universidad Autonoma de Madrid, 2004 - 2005