FoxPro/Visual FoxPro - BUG en VFP ??

 
Vista:

BUG en VFP ??

Publicado por JMA (41 intervenciones) el 18/02/2003 19:38:27
Hola:
tengo un problema con este fragmento de programa:

********************************************
M.Cantidad=2.5
M.precio=39.33
M.Dto=0.00
M.Dto2=0.00
M.Importe = (M.CANTIDAD * M.PRECIO) *((100 - M.DTO) / 100)*((100 - M.DTO2) /
100)
?m.importe && Da 98.32500000
M.Importe=ROUND(M.Importe,2)
?m.importe && Da 98.32 !!!!!!!! ERROR!!!!!
* si hago todo junto, tambien falla
M.Importe = ROUND((M.CANTIDAD * M.PRECIO) *((100 - M.DTO) / 100)*((100 -
M.DTO2) / 100),2)
?m.importe && Da 98.32 !!!! ERROR!!!!

*********************************************************

El importe lo calcula como 98.32. En realidad es 98.33, pero la operación
round((2.5*39.33)*1.0000*1.0000,2) lo calcula como 98.32

En cambio el cálculo : round((2.5*39.33)*1*1,2) lo calcula bien, como 98.33

Un saludo,
JMA

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:BUG en VFP ??

Publicado por Foxperto (894 intervenciones) el 19/02/2003 15:22:09
Hola JMA:

No se si sera un BUG, pero tratare de ayudarte. Necesito que me respondas unas preguntas:

Dto y Dto2, son porcentajes o son valores netos?
Ambos descuentos se aplican sobre el Neto del Precio?

No tengo VFP para hacer las pruebas, pero en Excel los valores dan como los muestras.

Respondeme a ver en que puedo ayudarte.

Saludos
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:BUG en VFP ??

Publicado por jma (41 intervenciones) el 19/02/2003 15:40:24
Hola:
Gracias por contestar. Dto y Dto2 son porcentajes (por eso 100-dto)
En cualquier caso, el problema pasa incluso con CONSTANTES!!

round((2.5*39.33)*1.0000*1.0000,2) -> error 98.32

round((2.5*39.33)*1.000*1.000,2) -> correcto 98.33

la solucion que me han dado y funciona, es "forzar" a currency:

round((2.5*39.33)*1.0000*$1.0000,2) -> correcto 98.33

Un saludo,
JMA
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