Pessoal, preciso trabalhar com o tipo double com apenas duas casas decimais… descartando as casas decimais seguintes…
tipo 1.25684 -> 1.25 sem executar nenhum tipo de arredondamento… o que ocorre é que quando executo uma divisao / multiplicacao… o resultado sai com varias casas decimais… queria que saisse apenas com duas… qual a melhor forma de fazer isso ???
double d = 10.12345;
d = (((int)(d * 100)) / 100.0);
System.out.println( d );
Não tem nada na API que faça isso ???
Acho meio estranho a cada operacao ter que fazer uma multiplicacao, um cast para inteiro e depois dividir…
:?: :?: :?:
Mas se tivesse na API deveria ser algo muito parecido com que o danieldestro postou!!
Vc pode criar um método para fazer o trunc para vc, mais ou menos como o seguinte:
public double trunc(double d, int precision) {
double p = Math.pow(10, precision);
return (((int) (d*p)) / p);
}
Fallow
Infelizmente, no Java, faltam muitas coisas que nos parecem óbvias.
Por exemplo, até a versão 1.3 o String não tinha split(), você tinha que usar o StringTokenizer.
Hoje ainda não existe em Swing o componente Status Bar.
Fazer o que né!
Beleza galera…
Vou implementar um metodo para fazer o trunc entao…
Eu estava olhando a classe Math, BigDecimal… mas encontrei apenas aredondamentos…
[ ]s,
Gustavo.