Olá pessoal, estou com um probleminha e não consigo achar uma solução: Após o sistema efetuar um cálculo entre 2 números informados pelo usuário(validados e td mais), por exemplo: 1200,99 / 2 = 600,495. Eu queria que retornasse pra mim sem arredondamento ou aproximação, no caso, 600,49.
Eu tente usar o DecimalFormat mas ele retorna 600,50.
Você quer o valor truncado? Faça algumas contas. Cuidado: devido aos problemas de arredondamento, você tem de tomar algum cuidado - se você não for dividir o número por 2, e sim por alguma coisa que não é potência de 2 (por exemplo, 10) você pode ter alguns resultados inesperados de vez em quando.
Conselho: o arredondamento normalmente faz bem à saúde. Mas se você não pode arredondar então você precisa pensar mais um pouco.
Se vc precisa guardar o valor considerando apenas 2 casas decimais, então precisa de alguma solução como a que o thingol exemplificou. Caso a as 2 casas decimais sejam importantes apenas na hora de imprimir o valor na tela, vc pode usar:
Bom thingol, seguindo as suas dicas e como os números que dividem o primeiro podem ser diferentes de 2, acho melhor continuar com DecimalFormat… mas valeu pela ajuda…
Rodpuc dessa maneira q vc postou ele retorna igual ao DecimalFormat… por exemplo: 1200,99 / 2 = 600,495, ele imprime 600,50.