Por ahí anda una función truncar creo se llama que es la que yo utilizó
aa = 100.99900
? INT(aa*100)/100
Luis María Guayán
Tucumán, Argentina
_______________________________
Comunidad Visual FoxPro en Español
http://comunidadvfp.blogspot.com
RETURN ROUND(INT(tnNro * ln) / ln, tnDec)
RETURN INT(tnNro * ln) / ln
? Truncar(123.456789,2)
dará el mismo resultado 123.45 pero sin el round.
Ignoro como tienes puesto el set decimals y el entorno, pero prueba
ahora con los mismos datos a ver si da el error.
SELECT nsaldo200, Truncar(nsaldo200,2) as truncar, INT(nsaldo200*100)/100 as fdb, (INT(nsaldo200*100)/100 - Truncar(nsaldo200,2)) as diferencia FROM tabla
FUNCTION Truncar(tnNro, tnDec)
LOCAL ln
IF EMPTY(tnDec)
tnDec = 0
ENDIF
ln = 10 ^ tnDec
RETURN ROUND(INT(tnNro * ln) / ln, tnDec)
ENDFUNC
Luis María Guayán
Tucumán, Argentina
_______________________________
Comunidad Visual FoxPro en Español
http://comunidadvfp.blogspot.com