Ver Mensaje Individual
  #11  
Antiguo 28-01-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Reputación: 25
__cadetill Va por buen camino
mmmmm, esto..... me parece que nos estamos liando

Veamos el código que nos manda nuestro colega

Código:
procedure TForm1.Button1Click(Sender: TObject);
var
  numero : real;
  st : string;
begin
  st:= ednumero.Text;
  st:= FormatFloat('#,##.00',strtofloat(st));
  ShowMessage(st); //aquí muestra el mensaje perfectamente,todo muy bien
  numero:= StrToFloat(st);
Bien, yo entiendo que la linea
Código:
  st:= FormatFloat('#,##.00',strtofloat(st));
le funciona correctamente, por lo que aquí no hay error ni con StrToFloat ni con FormatFloat
Esto lo deduzco por lo que pone en la siguiente linea:
Código:
  ShowMessage(st); //aquí muestra el mensaje perfectamente,todo muy bien
Por lo que creo que el error está en la útima línea de código
Código:
  numero:= StrToFloat(st);
Donde, una vez hecha la transformación con el FormatFloat (que le ha funcionado bien) intenta volver a transformar el string logrado a un real y, es aquí donde se le presenta el error ya que el string lleva formato

Por eso le recomendaba que no pusiera formato (separador de millares) y, así, esta segunda transformación no le daría problemas

Quizás tu te referias al primer StrToFloat??? Si es así, sí que te doy la razón
Responder Con Cita