Justamente son los decimales del campo...
295.20 / 1000 = 0.2952 pero como son 2 decimales 0.295 pasa a 0.30.
Si el resultado hubiese sido 0.294..., te hubiese quedado en 0.29.
El redondeo que hace es correcto.
Me parece que ante semejante división, necesital ponerle un decimal mas a wa_datos-impuesto....
La otra es hacer el calculo en una variable con mas decimales y luego aplicar alguna función que trunque (no que redondee) los decimales a dicha variable asignando el resultado a wa_datos-impuesto...
No se si existe dicha función...
La otra es ...
wa_datos-impuesto = ( trunc( wa_datos-impuesto / 10 ) * 10 ) / 1000 .
Seguro que hay otras opciones mas...
pero con todo esto vas a perder esos decimales que, sin conocer a fondo tu proceso, pueden darte un resultado incorrecto. Fijate si realmente está bien sacar esos valores...
|