View Single Post
  #11  
Old 28/01/2004
__cadetill __cadetill is offline
Miembro
 
Join Date: May 2003
Posts: 3,387
Rep Power: 27
__cadetill Va por buen camino
mmmmm, esto..... me parece que nos estamos liando

Veamos el código que nos manda nuestro colega

Code:
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
Code:
  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:
Code:
  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
Code:
  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
Reply With Quote