RESPONDER UNA PREGUNTA

Si para responder la pregunta, crees necesario enviar un archivo adjunto, puedes hacerlo a traves del correo [email protected]

    Pregunta:  57856 - ERROR EN FUNCION INTEGER
Autor:  Susana Llaguno
Tengo la siguiente fórmula para truncar a dos decimales imp_truncado=int(importe)+(int((importe-int(importe))*100)/100)
como función dentro de un formulario en Visual Fox 6.0. En algunas ocasiones me resta un centavo. Por ejemplo 8569.47 me da como resultado 8569.46 Si corro la misma fórmula en el área de comandos me da el resultado correcto, pero ya dentro del formulario me resta el centavo. Descompuse la fórmula en partes de la siguientes manera:
x=importe
entero=int(x) && entero=8569
decimales=x - entero && decimales=8569.47 - 8569 = 0.47
ent_dec=decimales * 100 && ent_dec= 0.47 * 100 = 47
fraccion=int(ent_dec) && fraccion=int(47) = 46 (error)
conv_dec=fraccion / 100 && conv_dec=46 / 100 = .46
final=entero+conv_dec && final=8569 + 0.46 = 8569.46

y el error da cuando calculo la variable 'fraccion'. No siempre pasa, solo en algunos casos, en un reporte de 82 cálculos solo uno me da incorrecto.

Probé con la función FLOOR y también me da error.
y=FLOOR(ent_dec) && y=46

Si alguien tiene idea de lo que ocurre le agradecería me lo haga saber.


Nombre
Apellidos
Correo
Comentarios