Estou tentando fazer um método, mas acontece um erro bizarro quando recebo o valor, vou tentar explicar melhor.
Meu programa tem um JCombobox com numeros inteiros pré-definidos que quando selecionados passam por uma verificação, nessa verificação ele é transformado em inteiro para que possa passar por uma condição, se ele passa por essa condição ele é convertido em double, pois o valor tem que ser exibido no formato “0.0” é somado a “0.3”, o método funciona, até certo ponto, por exemplo:
Valor selecionado
5
passou pela condição
sim
converte
0.5
soma a 0.3
0.8
“resultado perfeito”, é exatamente o que eu quero!!!
agora
Valor selecionado
6
passou pela condição
sim
converte
0.6
soma a 0.3
0.8999999999999999999999
Porque não “0.9” ?
isso acontece também com 11, 16, 19, 23, 24, 28, 29, 33, 34, 41
porque só com esses valores?
Alguém pode me ajudar com esta dúvida bizarra?
public void verificaDesgaste(String x) {
temperatura = Integer.parseInt(x);
if ((temperatura >=0)&&(temperatura<=48)){
double temp = (double) temperatura/10;
temp = temp + 0.3;
setDesgaste(temp);
}