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!!!
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.
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.
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)
[code]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
*/
}
[/code]
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;…