String to Int/Float
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?
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
Curtidas 0
Respostas
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
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