Arredondamento
Fala galera!!!
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!!!!
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
Curtidas 0
Respostas
Edilcimar
03/01/2006
pegue a parte inteira, pegue a fração, se fração for maior que zero então pegue a parte inteira e acrescente 1
GOSTEI 0
Demetrius
03/01/2006
Valeu Edilcimar, mas eu sou meio lento. Vc poderia explicar onde eu coloco minha váriavel com o valor a ser arredondado e como consigo o resultado final. O resultado final vai para um edit.
Obrigado!!!!
:oops: :oops: :oops:
Obrigado!!!!
:oops: :oops: :oops:
GOSTEI 0
Edilcimar
03/01/2006
numero := 1,2345
fracao := frac(numero)
inteiro := int(numero)
if fracao > 0 then
inteiro := inteiro + 1
fracao := frac(numero)
inteiro := int(numero)
if fracao > 0 then
inteiro := inteiro + 1
GOSTEI 0
Demetrius
03/01/2006
Obrigado!!!!
GOSTEI 0