Redondeos con Firebird 2.0
Hola a todos.
Probad a ejecutar esta sentencia en Firebird, y decidme si estoy loco, o que:
SELECT
CAST(1.5 * (20.45 ) * 100 AS INTEGER) / 100,
CAST(1.5 * (20.45 - 0) * 100 AS INTEGER) / 100
FROM una_tabla_cualquiera
El primer campo devuelve 30,68, y el segundo 30,67. ¿Hay alguna explicación lógica?
He probado a poner - 0.0 (por si fuese un problema de tipos de datos), y seguimos en las mismas. El resultado correcto del redondeo de 30.675 es 30.68, pero no se cómo llegar hasta él.
Gracias.
|