arredondar numero

Delphi

03/07/2006

como faço para arredondar um número com duas casas decimais para maior, exemplo: 29,999 para 30,00.


Cpd_arim

Cpd_arim

Curtidas 0

Respostas

Antseralves

Antseralves

03/07/2006

Use a função Round;

Ex:

var X : Real;
I : intger;

;;
;;

X := 29.999;

I := Round(X);

[b:ccb685b3cb]I[/b:ccb685b3cb] vai ficar com 30


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

03/07/2006

talvez a função Round() não seja a mais indicada.

se você fizer o teste sugerido utilizando o valor 29.001 até 29.499, a função Round() lhe retornará 29,00.
se você utilizar valores de 29.5 até 29.999, a função Round() lhe retornará 30,00. não sei se é isso que você deseja.

de qualquer forma, eu sugiro a função RoundTo(), da unit Math. ela faz o arredondamento conforme o número de casas decimais indicado.
RoundTo(29.999,-2) -> 30,00
RoundTo(29.499,-2) -> 29,50
RoundTo(29.299,-2) -> 29,30
e assim por diante...


GOSTEI 0
Cpd_arim

Cpd_arim

03/07/2006

valeu, muito obrigado.


GOSTEI 0
Pro-luck

Pro-luck

03/07/2006

boa tarde caro colega,

Será que você pode me informar como devo proceder para arredondar um determinado valor, sempre para baixo?

Por exemplo: 29,967 => 29.

Certo de vossa atenção, antecipadamente agradeço.
Fica com Deus.


GOSTEI 0
Marco Salles

Marco Salles

03/07/2006

é so truncar

Trunc();



GOSTEI 0
POSTAR