Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
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.610
Poder: 32
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
  #2  
Antiguo 30-03-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.015
Poder: 22
oscarac Va por buen camino
ya coloque el campo en los formatos mecionados TCurrencyField, TFmtBCDField o TBCDField y sigue saliendo 0.00 a pesar que en el formatdispay coloco ,0.00;;#

q sera?
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
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.610
Poder: 32
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
Cita:
Empezado por oscarac Ver Mensaje
ya coloque el campo en los formatos mecionados TCurrencyField, TFmtBCDField o TBCDField y sigue saliendo 0.00 a pesar que en el formatdispay coloco ,0.00;;#

q sera?
Como ya comenté antes, es posible que el valor del campo NO sea 0, tal como tú crees. Insisto en que deberías hacer una prueba como la siguiente para cerciorarnos:

Código Delphi [-]
If CampoCalculado.Value <> 0 Then
  ShowMessage (FloatToStr (CampoCalculado.Value));

Puedes usar para ello algún evento, como el OnClick de un botón.

Responder Con Cita
  #4  
Antiguo 30-03-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.015
Poder: 22
oscarac Va por buen camino
Cita:
Empezado por Al González Ver Mensaje
Como ya comenté antes, es posible que el valor del campo NO sea 0, tal como tú crees. Insisto en que deberías hacer una prueba como la siguiente para cerciorarnos:
Pues ya hice la Prueba y el valor es 0
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #5  
Antiguo 31-03-2011
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
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
Que bueno que ahora sí la hiciste, gracias.

Ahora, por favor, a manera de prueba, reduce tu evento OnCalcFields a una sóla sentencia:
Código Delphi [-]
qryBalanceComprobacionMensualSD.Value := 0;
(o como se llame el campo que esté dando el problema)

¿Sigue presentándose la misma situación?

Y otra pregunta que quizá debí hacerte antes: ¿En qué tipo de objeto estás presentando el valor del campo? Hay componentes que priorizan su propio formato antes que el indicado por la propiedad DisplayFormat de los objetos campos. Tal vez esta sea la razón del problema.

Saludos atentos.

Al González.
Responder Con Cita
  #6  
Antiguo 31-03-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.015
Poder: 22
oscarac Va por buen camino
estoy usando un TqrExpr...

y ya di con la solucion....
en Expression debi haber colocado asi desde un principio

FORMATNUMERIC(',0.00;;#',RA)

gracias por la paciencia Al González
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #7  
Antiguo 31-03-2011
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
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
Me alegro por el feliz resultado, más paciencia has tenido tú.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
La propiedad DisplayFormat gcaffe Varios 1 25-12-2009 15:18:01
DisplayFormat de campo calculado hcalero Varios 1 10-05-2007 19:44:09
DisplayFormat en Builder c++ 5??? alt126 C++ Builder 1 20-04-2006 11:31:54
Comportamiento extraño de DisplayFormat Thales Conexión con bases de datos 0 02-12-2005 21:56:32
DisplayFormat en tiempo de ejecución? mguixot OOP 4 01-06-2004 11:38:19


La franja horaria es GMT +2. Ahora son las 15:02:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi