Fórum Arredondamento no edit #455731
18/09/2013
0
No excel os valores são arredondados para baixo ou para cima automaticamente quando elimino as casas decimais.
456,76 = 457
432,72 = 433
384,64 =385
360,60 =361
264,44 =264
192,32 =192
168,28 =168
144,24 =144
Não sei como fazer esse arredondamento da mesma forma no delphi , meu sistema não aceita casa decimais, mais precisa delas pra se orientar se o arredondamento é pra cima ou pra baixo, depois desse reconhecimento de arredondamento preciso eliminar as casas decimais segue o código:
procedure TForm1.Button1Click(Sender: TObject);
var
v1: integer;
v2: integer;
v3: integer;
v4: integer;
begin
v1 := StrToInt(Edit1.Text);
v2 := StrToInt(Edit10.Text);
v3 := (v1*v2);
v4 := (v3 Div 100);
edit2.text := IntToStr(v4);
Aparentemente o delphi não esta reconhecendo as casas decimais para poder arredondar pra cima e pra baixo, ou está desconsiderando as mesmas.
Luis Sergio
Curtir tópico
+ 0Posts
18/09/2013
Marcos Oliveira
procedure TForm1.Button1Click(Sender: TObject);
var
v1: Double;
v2: Double;
v3: Double;
v4: Double;
begin
v1 := StrToInt(Edit1.Text);
v2 := StrToInt(Edit10.Text);
v3 := (v1*v2);
v4 := (v3 / 100); // Substitua o Div por "/", já que o div retorna só a parte inteira.
edit2.text := FloatToStr(Round(v4)); // Finalmente, arredonde o valor.
end;
Espero que funcione.
Att,
Marcos
Gostei + 0
18/09/2013
Luis Sergio
procedure TForm1.Button1Click(Sender: TObject);
var
v1: Double;
v2: Double;
v3: Double;
v4: Double;
begin
v1 := StrToInt(Edit1.Text);
v2 := StrToInt(Edit10.Text);
v3 := (v1*v2);
v4 := (v3 / 100); // Substitua o Div por "/", já que o div retorna só a parte inteira.
edit2.text := FloatToStr(Round(v4)); // Finalmente, arredonde o valor.
end;
Espero que funcione.
Att,
Marcos
Funcionou Marcos Marcos, seu código está perfeito. Obrigado
*Não vou postar o código porque ficou exatamente como está no quote do Marcos.
Gostei + 0
18/09/2013
Deivison Melo
Bons códigos e um abração!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)