eu gostaria de saber assim, se ele recebesse numero inteiro tpw 5.0 ou 6.0 eu usaria a classe DecimalFormat para deixar assim: 5 ou 6, senao se fosse quebrado 5.21352 ou 6.123653 eu deixaria como esta.
Melhor usar double, porque float tem muito problema de arredondamento. Você pode converter o valor para inteiro (tipo long) e fazer a diferença com o valor anterior, se maior que zero daí tem casas decimais.
Ah eu tava analisando aqui e consegui chegar a uma conclusão aqui que funcionou da maneira que eu gostaria:
[code]
public String formataCasoDecimal(String d) {
String x = String.valueOf(calcs.getMemoria());
for (int i = 0; i < x.length(); i++) {
if (x.substring(i, i + 1).equals(".")) {
if (x.substring(i + 1, i + 2).equals("0")) {
d = df.format(calcs.getMemoria());
} else {
d = x;
}
break;
}
}
return d;
}
Obs¹: Tanto double quanto float tem a msm dificuldade em arredondamento creio eu, e essa sua logica ai parece que é bem eficas mesmo.
Obs²: Adelar, você é de Cascavel-PR ??? Minha familia mora em Cascavel-PR, gosto mto desse lugar de onde sou natural. E como anda a vida de programador ai ?
Ao invés de comparar com zero poderia usar também um valor muito próximo de zero, daí evita prováveis erros de ponto flutuante… 0,0000001 por exemplo.
Aqui é um bom lugar para trabalhar :D… em qual cidade vc está?