Ver Mensaje Individual
  #3  
Antiguo 20-06-2017
angelratza angelratza is offline
Registrado
NULL
 
Registrado: jun 2017
Posts: 8
Reputación: 0
angelratza Va por buen camino
Gracias por preguntar y ya quedo resuelto, pues leyendo algunos post relacionados de este foro encontré el siguiente:

http://www.clubdelphi.com/foros/show...448#post123448

En donde menciona una solución que me ha funcionado de maravilla.

Verán resulta que cuando yo tomaba el String con el valor numérico este contenía el valor decimal completo: p/e = "45,000.00"; lo cual al pasarlo a un valor FLOAT era invalido y arrojaba el error.

Lo único que hice fue crear una función que elimine los puntos decimales para evitar el error y posterior darle formato nuevamente para su uso en el programa.

Código Delphi [-]

function QuitaEn(Cadena, Esto: String): String;
   var
     aPos: Integer;
   begin
     aPos := Pos(Esto, Cadena);
     Result:= '';
     while (aPos > 0) do begin
       Result := Result + Copy(Cadena, 1, aPos-1);
       Delete(Cadena, 1, aPos + Length(Esto)-1);
       aPos := Pos(Esto, Cadena);
     end;
     Result := Result+Cadena;
   end;   

importdesc:=StrToFloat(QuitaEn(Fventa.SGVenta.Cells[6,Fventa.SGVenta.Row], ',')); // Quitamos los valores decimales para evitar el error
importd:=FormatFloat('#,##0.00',importdesc); // Se le vuelve a dar el formato correcto


Última edición por Casimiro Notevi fecha: 20-06-2017 a las 23:20:36.
Responder Con Cita