Arredondar numeros!?

5 respostas
S

Olá eu gostaria de aprender como fazer para arrendondar números!!

por exemplo :

//VALOR = 13,78;

double arredondar(doble valor){

//…EMPLEMENTAR

return valor;

}

gostaria de saber como fazer para que esse valor(13,78) fosse arredondado para 13,8 (DECIMAL COMPLETO) e como arredondar para
14,0 (VALOR COMPLETO)…???

se puderem me ensinar eu fico muito agradecido!!!

5 Respostas

P

Uma alternativa é usar o cast para inteiro (forçar a transformação do real para um inteiro).

Nesse caso vc precisa também fazer uma verificação do valor ‘quebrado’ que restou para decidir se somará ou não 1 ao valor inteiro obtido no cast.

B

Ola,

Para fazer este trabalho, meio chato por sinal, vc pode usar as classes BigDecimal, que tem uma politica de arredondamento e vc pode setar uma escala.

C

http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Math.html

Esse kra resolve os problemas pra vc.

S

PROCURAR FAZER SEMPRE DA FORMA MAIS FACIL...rs

bom pessoal eu fiquei pensando aquie e crieu um ENUMERADO
e criei algoritmos em cima da classe Math (Math.round)

public enum Arredondamento {

	DECIMAL_COMPLETO, 
                VALOR_COMPLETO, 
                DEZENA_INTEIRA;



	double arredondar(double valor) {
				
		if (this == DECIMAL_COMPLETO) {
			valor *= 10;
			valor = Math.round(valor);
			valor /= 10;
		} else 
			if (this == VALOR_COMPLETO) {
				valor = Math.round(valor);
		} else
			if (this == DEZENA_INTEIRA) {
				valor /= 10;
				valor = Math.round(valor);
				valor *= 10;
			}

		return valor;
	

//PARA TESTAR

public static void main(String[]args){
		
		System.out.println("Decimal Completo "+ DECIMAL_COMPLETO.arredondar(17.21));
		System.out.println("Valor Completo "+ VALOR_COMPLETO.arredondar(17.21));
		System.out.println("Dezena Inteira "+ DEZENA_INTEIRA.arredondar(17.21));
}

/*
 *RESULTADO
 *Decimal Completo 17.2
 *Valor Completo 17.0
 *Dezena Inteira 20.0	
*/

}

TALVEZ NÃO SEJA DA MELHOR FORMA...

MAS...A CRIATIVIDADE E OS ALGORITMOS MUITAS VEZES RESOLVEM...RS...

valew galera...

até mais!!

Todos tem o poder das palavras; mais a sabedoria cabe a poucos!!

COMEDY FOREVER!!...

uhuuuuuuU thuru ru ru ru;....

S

Editado

Criado 14 de junho de 2007
Ultima resposta 14 de jun. de 2007
Respostas 5
Participantes 5