Ver Mensaje Individual
  #4  
Antiguo 17-08-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola CrazySoft.

Acabo de hacer esta prueba
Código Delphi [-]
function CalcularExpresion(Expre: string): Double;
begin
  Result := StrToFloat(Expre)*2;
end;

procedure TForm1.IBDataSetFloatGetText(Sender: TField; var Text: String; DisplayText: Boolean);
begin
  Text := FloatToStr(CalcularExpresion(TField(Sender).Value));
end;
sobre un campo numérico (DOUBLE PRECISION de Firebird), y tál como pensaba funciona bién.

El tratamiento dentro de la función CalcularExpresion no tiene importancia ya que ambas (la tuya y la mía de prueba) reciben una cadena de caracteres y devuelven un número real.

Desconozco que DBMS estes usando pero proba cambiando el modo de enviar el argumento a CalcularExpresion por:
Código Delphi [-]
TField(Sender).AsString
o por:
Código Delphi [-]
FloatToStr(TField(Sender).AsFloat)

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita