Não tem como. Por que é que está com preguiça de usar os formatadores?
E
entanglement
Ainda mais que provavelmente o pessoal vai lhe sugerir alguma coisa bizarra como:
doublev1,v2;v1=10;v2=3;doublev3=Math.rint(v1/v2*100)/100;// deveria dar o valor 3.33System.out.println(v3);
Por que é que isso é bizarro e errado? Porque v3 pode ser impresso pelo Java como algo mais esquisito, como
3.32999999999973
ou coisa parecida. Não é exatamente um bug, é que o Java, por padrão, imprime cerca de 15 dígitos significativos no caso de double, e alguns desses dígitos acabam sendo “errados” (mas devido à representação interna do ponto flutuante, não devido a algum eventual bug).
Então galera… na verdade é um desafio que passaram. Depois eu vejo como faz e posto aqui… Valeu.
E
entanglement
Acho que agora entendi. Suponha que o número seja fácil de formatar (por “fácil” eu digo não ter de usar algoritmos muito complicados para levar em conta um monte de casos particulares que podem ocorrer quando se usa double)
Por exemplo, você quer criar um método que seja mais ou menos assim:
E o resultado esperado para formatarComNCasas (10.0 / 3.0, 2) fosse “3.33”.
É isso?
LucasHP
A melhor prática creio que é usar a classe BigDecimal.
Outra pratica “gambiarra” que funcionaria era transformar numa string e pegar a substring dela, haha! é gambs 100% mas funfa, ja utilizei
haveno
Então galera, eu não sei como é, o professor deu só uma dica, tem que usar cast. hehe, eu tentei algumas coisas aqui mas sem sucesso… De quaquer forma ele falou que iria revelar como é na próxima aula, que é semana que vem. ^^
Tipo, se eu fizer assim: