FoxPro/Visual FoxPro - problema con calculo

   
Vista:

problema con calculo

Publicado por francisco lopez (9 intervenciones) el 29/06/2009 07:39:15
muy buen dia tengan todos ustedes...estoy haciendo pruebas para calcular el subtotal , iva y total de una factura el problema es que el calculo no me da exacto.. aqui van las pruebas que e estado haciendo..

en el command del windows hago lo siguiente..

x = 1000 / 1.15
?x
el resultado que me regresa es 869.57
y = x *10
?y
el resultado que me regresa es 8695.65
z = y * 1.15
?z
el resultado que me regresa es 10,000

ESTOS RESULTADOS ESTAN PERFECTOS, EL PROBLEMA ES EL SIGUIENTE

x = 869.57
y = x *10

el resultado que me regresa es 8695.70 (NOTE QUE ME DIO UN RESULTADO DIFERENTE QUE EN LA ECUACION DE ARRIBA)

z = y * 1.15
el resultado que me da es 10,000.0550 (NOTE QUE ME AGREGO UNOS CENTAVOS DE MAS)

todo esto lo hago en el command windows, ya probe poniendole el set decimals a 4,6,8,etc y no se porque no me da exacto.. algun set que me falte agregar, si alguien tiene la solucion a esto le estare muy agradecido.
gracias por su atencion
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:problema con calculo

Publicado por Mario (199 intervenciones) el 29/06/2009 16:09:33
Ayuda de Set decimals
Especifica el número de decimales que se "mostrarán" en las expresiones numéricas

Si querés trabajar con 2 decimales podes hacer lo siguiente: Val(Str(variable,10,2))
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

RE:problema con calculo

Publicado por santiago (419 intervenciones) el 01/07/2009 21:50:24
El calculo si es exacto, tiene que ver con el numero de decimales a usar VS porcentajes, lo que sucede es normal y valido, cuando trabajas con 2 decimales tanto para guardar como para mostrar, la incidencia de "error" es si no me equivoco de 1 en 200 operaciones, pero si usas 4 decimales para guardar y 2 para mostrar la incidencia es de 1 en 1600 operaciones, y si a esto le agregas un redondeo, problema resuelto.

Santiago
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