PDA

Ver la Versión Completa : dato double, una locura


Manuel
14-11-2003, 21:20:01
hola amigos del foro tengo un problema que me trae más que loco, Tengo lo siguiente:

var
promedio: double

y conponente de las rx: llamdo TRxCalcEdit, donde capturo un dato con un entero y un decimal, (ej.: 6.3 )

luego en la variable promedio calculo lo siguiente:

Promedio := myround(suma / nnotas)


Myround, es función donde aproximo a un decimal el calculo 6.55 a 6.6, ahora viene lo gracioso

cuando hago la siguiente pregunta

if promedio >= Componen.value then ...

me dice que es falso cuando la variable promedio = 6.3 y el componente también, que será, la variable promedio me la traera como 6.29999999999, no se ustedes?

brandolin
14-11-2003, 22:55:07
Es posible, te convendria redondear tambien el valor del componente asi evitas errores.

Es solo una idea....

Julià T.
15-11-2003, 02:40:20
el problema con los números reales, es que algunos (en realidad muchos, muchos), no tienen representación exacta en el sistema de bits, por lo que se guarda un valor muy aproximado, pero no exacto.

__cadetill
15-11-2003, 10:29:01
Muchos problemas de decimales los he solventado cambiando Real o Double por Currency. Prueba a ver que tal

Manuel
17-11-2003, 16:52:25
Gracias lo intentaré