Arredondamento
03/01/2006
0
Tô com um probleminha, mas não consigo resolver.
Tenho um calculo no meu sistema e quando executado as vezes me dá resultados com dizima. Eu preciso arredondar esses resultados sempre para cima, nunca para baixo.
ex: 3,33333 para 4
2,01 para 3
E assim por diante. Não sei como fazer, procurei no site e achei uma dica muito legal, mas não to conseguindo usar. Alguém pode me dizer como fazer ou usar o código abaixo.
A variável em que o resultado do meu calculo fica armazenado é: R4.
Valeu!!!!
function Sgn(X: Extended): Integer; { Retorna -1, 0 or 1 de acordo com o sinal do argumento } begin if X < 0 then Result := -1 else if X = 0 then Result := 0 else Result := 1; end; function RoundUp(X: Extended): Extended; { Retorna o primeiro inteiro maior que ou igual a um dado número em valor absoluto (o sinal e preservado). RoundUp(3,3) = 4 RoundUp(-3,3) = -4 } begin Result := Int(X) + Sgn(Frac(X)); end;
Demetrius
Posts
03/01/2006
Edilcimar
03/01/2006
Demetrius
Obrigado!!!!
:oops: :oops: :oops:
03/01/2006
Edilcimar
fracao := frac(numero)
inteiro := int(numero)
if fracao > 0 then
inteiro := inteiro + 1
Clique aqui para fazer login e interagir na Comunidade :)