DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

Como arredondar valores com casa decimais?

É necessário declarar Math na seção uses,
em versões unicode declare System.Math.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function TBRound(Value: Extended; Decimals: Integer): Extended;
var
  Factor, Fraction: Extended;
begin
  Factor := IntPower(10, Decimals);
  Value := StrToFloat(FloatToStr(Value * Factor));
  Result := Int(Value);
  Fraction := Frac(Value);
  if Fraction >= 0.5 then
    Result := Result + 1
  else
    if Fraction <= -0.5 then
      Result := Result - 1;
  Result := Result / Factor;
end;

Exemplos de uso:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TForm1.Button1Click(Sender: TObject);
var
  f : Double;
begin
  f := 1.36482;
 
  // Arredondando para 3 casas decimais.
  f := SDRound(f, 3);
  ShowMessage(FloatToStr(f));
 
  // Arredondando para 2 casas decimais.
  f := SDRound(f, 2);
  ShowMessage(FloatToStr(f));
end;

Como alternativa, há outra função que faz o mesmo trabalho:
http://showdelphi.com.br/funcao-para-arredondar-valores/

Facebook Comments Box
  • InfusTec
  • 11.036 views
  • 0 comentários
  • 23 de março de 2015

Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!

Deixe um comentário

Ir ao topo

© 2024 Infus Soluções em Tecnologia - Todos os Direitos Reservados