Tema: StrtoFloat
Ver Mensaje Individual
  #3  
Antiguo 27-12-2007
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Reputación: 20
Héctor Randolph Va por buen camino
Hola mjjj

Siguiendo la idea de Egostar, aquí te pongo una función para convertir el texto a número

En esta página puedes obtener una tabla con los valores que le puedes pasar en el parámetro LCID:

http://www.microsoft.com/globaldev/r.../lcid-all.mspx


Código Delphi [-]
function TextoANumero(S: String;var Valor: Extended; LCID: Integer):Boolean;
var
  FS: TFormatSettings;
begin
 GetLocaleFormatSettings(LCID,FS); // Llenar la estructura TFormatSettings
 S:=StringReplace(S,FS.ThousandSeparator,'',[rfReplaceAll]);//Elimina separador de miles
 Result:=TextToFloat(PChar(S),Valor,fvExtended,FS);//Convierte a texto
end;

 // 1034  LCID Español (España tradicional)
 // 3082  LCID Español (España moderno)
 // 2058  LCID Español (México)
 // 11274 LCID Español (Argentina)

procedure TForm1.Button1Click(Sender: TObject);
var
  FS: TFormatSettings;
  Flotante: Extended;
begin
 if TextoANumero(Edit1.Text,Flotante,1034) then
    ShowMessageFmt('%f',[Flotante])
 else
  ShowMessage('Error');
end;

Saludos
Responder Con Cita