Ver Mensaje Individual
  #10  
Antiguo 30-03-2011
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
No sé si ya has verificado que el campo sea realmente 0 o algo como 0.0000000000021, poniendo un If de prueba como el que te comenté:
Cita:
Empezado por Al González Ver Mensaje
Haz la prueba de compararlo contra cero (If Campo.Value = 0 Then); puede que tenga una pequeña fracción no perceptible cuando se aplica el formato de dos decimales.
Ahora, al ver que utilizas TFloatField, casi no hay duda de que esa es la razón del problema.

Para valores monetarios usa mejor TCurrencyField, TFmtBCDField o TBCDField, ya que estos guardan el dato en formato de punto fijo (siempre la misma cantidad de decimales), a diferencia de la clase TFloatField que lo hace en formato de punto flotante (cantidad de decimales variable).

Saludos.

Al González.
Responder Con Cita