String to Int/Float

Delphi

29/09/2005

Desculpa incomodar vocês com essa pergunta...

Mas eu lembro que havia um outro jeito de converter string.. para float ou Integer.. que caso tivesse uma letra ou algo assim não acusava erro..

Estou muito tempo sem usar Delphi, entao estou tentando voltar a me adaptar.. não lembro como era.. sei que eu definia uma variavel float.. e depois usava ela com uma função..


alguém lembra?


Amon-ra

Amon-ra

Curtidas 0

Respostas

Fknyght

Fknyght

29/09/2005

Var
   Num : Float;
begin
   Num := StrToFloatDef( Edit1.Text , 0 ); // o 0 ( Zero ) e valor default caso ocorra erro na converção
end;



GOSTEI 0
Martins

Martins

29/09/2005

Var
   Num : Float;
begin
   Num := StrToFloatDef( Edit1.Text , 0 ); // o 0 ( Zero ) e valor default caso ocorra erro na converção
end;


Blz!!

vc poderia fazer assim tb, é só uma sugestão:
{Remove todos os caracteres alpha deixando apenas os números...}
function ApenasNum(Const Valor:String):String;
var
  i: integer;
  a: string;
begin
  a := ´´;
  for i := 1 To Length(Valor) Do
    begin
      if (Valor[i] in [´0´..´9´]) then
        begin
          a := a + Copy(Valor, i, 1);
        end;
    end;
   result := a;
end;


Vc utilizaria assim:
procedure TFxxxx.ButtonxClick(Sender: TObject);
var
 b: integer;
 vlr_frmt : String;
begin
 {Remove as strings e deixa apenas números...}
 
  b := StrToInt(ApenasNum(Edit1.Text));
 
 {Formata o número atribuindo a ele duas casas decimais}
 {vc ainda pode utilizar (ffFixed, ffNumber, ffCurrency)}
 
  vlr_frmt := floattostrf(b, ffFixed ,18,2);
 
 {Lhe exibe o número no ShowMessage..}
 
  ShowMessage(´O valor é: ´+vlr_frmt);
end;


Espero q possa lhe ajudar.


GOSTEI 0
POSTAR