Arredondamento
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.
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
Curtidas 0
Respostas
Keitarosan
14/10/2004
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:
Espero que eu tenha conseguido fazer o que você precisa :D
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
GOSTEI 0
Michaell
14/10/2004
É uma boa saída!
Obrigado, amigo San!
Obrigado, amigo San!
GOSTEI 0
Sabe.geraldo
14/10/2004
Eu uso a função Trunc() assim : ( Trunc( valor * 100 )/100 );
Tem funcionado.
[].
Geraldo.
Tem funcionado.
[].
Geraldo.
GOSTEI 0