C/Visual C - Redondeo variables double

 
Vista:

Redondeo variables double

Publicado por Sara (8 intervenciones) el 15/10/2002 13:30:35
Estoy intentando hacer una rutina que me permita redondear variables double a nivel del tercer decimal, y no entiendo porqué el siguiente programa funciona de manera distinta si multiplicamos la variable por cien.
#include<stdio.h>
#include <math.h>

void main()
{
double entrada;
int entera;
double c, d;

entrada=9.950000;
//entrada=9.95000*100;
entera=(int)entrada;
printf("de %f la parte entera es %d\n",entrada,entera);


c = modf(entrada, &d);
printf ("de %f Parte entera %f y parte decimal %f \n",entrada,d,c);

}
Por que cuando multiplicamos por cien la variable entrada me devuelve la parte entera 994 y la decimal 1.

Gracias por atenderme
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Redondeo variables double

Publicado por Alvaro (122 intervenciones) el 15/10/2002 15:15:48
Para mostrar los float o double aproximados solo debes hacer un printf con %E.Df donde E es la cantidad de caracteres a llenar con ceros a la izquierda de la parte entera y D es la cantidad de decimales.
Si usas 0 decimales en esto, Supongo que debiera aproximarlas.
En el código no sé donde llenas la variable d.
Suerte...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar