Não consigo fazer com que minha variável receba um valor do meu TEdit

12/07/2022

0


Boa tarde, estou usando o DELPHI 11.

Tenho um TEdit com o valor 1.365,25 e quero gravar esse valor numa variável currency, mas quando tento realizar essa ação aparece que o valor 1.365,25 não é um valor float válido. Creio que isso deve estar acontecendo porque coloquei um . no número, mas tem como fazer ele aceitar esse valor?
Coloquei da seguinte forma:

procedure TfrmContasReceber.ValorJuros;
var
  lJuros, lValorNominal, lResultado, lTotal : Double;
var
  i : Integer;
var
  lDias: TDate;

begin
  i := 0;
  lJuros := StrToFloat(edtJurosMensal.Text);
  lJuros := lJuros/30;
  lValorNominal := StrToFloat(edtValorNominal.Text); //linha que está ocorrendo o problema
  lDias := StrToInt(edtDiasAtraso.Text);
  while(i < lDias) do
  begin
    lResultado := ((lValorNominal * lJuros)/100);
    lTotal := lTotal + lResultado;
    i := i + 1;
  end;

  edtValorJuros.Text := FormatFloat(',0.00',lTotal);

end;

Renato Akira

Renato Akira

Responder

Posts

15/07/2022

Natanael Ferreira

Para converter o valor string para variável Double é necessário remover os pontos da string.

Para isso use StringReplace. Teste o código abaixo substituindo pela sua linha que ocorre o problema:

lValorNominal := StrToFloat(StringReplace(edtValorNominal.Text, '.', '', [rfReplaceAll])); // linha que está ocorrendo o problema
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar