Fórum Arredondamento #254451

14/10/2004

0

Boa Tarde, pessoal!

Alguém sabe me dizer qual função no Delphi que realiza arredondamento ´para baixo´? Já tentei estas:

- FormatFloat, Round, RoundTo;

Mas elas arredondam para cima...

Por exemplo:

3.8875

Eu preciso de 2 casas de precisão, e o número seria 3.88 (Arredondamento ´para baixo´), e não 3.89

Att.


Michaell

Michaell

Responder

Posts

14/10/2004

Keitarosan

Bom, nao conheco uma funcao com precisao de duas casas que arredonde pra baixo.
Você poderia usar o Trunc(), truncando assim o numero, mas ele só funciona pra retornar um inteiro, nao teria a precisao de 2 casas...

Mas me veio algo a mente, pq você nao cria uma funcao Trunc pra numero Float??

por exemplo, voce tem o numero: 3,8875
a intenção da truncagem seria com precisao de 2 casas, logo a saida seria essa: 3,88, neh?

a funcao seria bem simples:

uses math;

function TruncFloat(Value: Extended; Precision: Integer): Extended;
var
  Fator: Integer;
begin
  Fator := Round(Power(10, Precision));
  Result := Trunc(Value * Fator) / Fator;
end;


Espero que eu tenha conseguido fazer o que você precisa :D


Responder

Gostei + 0

14/10/2004

Michaell

É uma boa saída!

Obrigado, amigo San!


Responder

Gostei + 0

14/10/2004

Sabe.geraldo

Eu uso a função Trunc() assim : ( Trunc( valor * 100 )/100 );


Tem funcionado.


[].

Geraldo.


Responder

Gostei + 0

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

Aceitar