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