importjava.math.*;classArredondamento{/** * @param valor O valor a ser arredondado. * @param casas O número de casas. * @param useCeil true = Arredondar sempre para cima. false = truncar */publicstaticdoublearredondar(Stringvalor,intcasas,booleanuseCeil){BigDecimalbd=newBigDecimal(valor);returnbd.setScale(casas,useCeil?RoundingMode.CEILING:RoundingMode.FLOOR).doubleValue();}publicstaticvoidmain(String[]args){System.out.println(arredondar("81.9156",2,false));System.out.println(arredondar("81.9",2,false));System.out.println(arredondar("81.9156",2,true));System.out.println(arredondar("81.9",2,true));}}
E
ebarros
Ow entao vc pode usar as classes BigDecimal ou DecimalFormat para te auxiliar. Boa Sorte!
rsoliveira
Hi o/
Cara, coloquei um System.out.println após cada operação que fizestes com a variável arredondado e descobri que o problema ta lá em cima, no momento que tu faz essa operação:
arredondado*=(Math.pow(10,casas));
O resultado obtido é esse: 8190.000000000001
O problema é que eu não faço a mínima idéia do pq…Bug?
Vou continuar testando o/
T
thingol
rsoliveira:
Hi o/
Cara, coloquei um System.out.println após cada operação que fizestes com a variável arredondado e descobri que o problema ta lá em cima, no momento que tu faz essa operação:
arredondado*=(Math.pow(10,casas));
O resultado obtido é esse: 8190.000000000001
O problema é que eu não faço a mínima idéia do pq…Bug?
Cara, coloquei um System.out.println após cada operação que fizestes com a variável arredondado e descobri que o problema ta lá em cima, no momento que tu faz essa operação:
arredondado*=(Math.pow(10,casas));
O resultado obtido é esse: 8190.000000000001
O problema é que eu não faço a mínima idéia do pq…Bug?
Vou continuar testando o/
Realmente foi isso que percebi quando printei no console do Netbeans esse resultado 8190.000000000001… coisa doisa.
Bem, mas a dica do colega thingol sobre a classe de Arredondamento, funcionou. O q achei estranho é receber o valor como string mas sem problemas. eu converto dentro do método e apliquei no meu projeto e funcionou perfeitamente. Segue abaixo: