[RESOLVIDO]Problemas com subtração de variáveis Double

2 respostas
T

Pessoal, tenho duas variáveis Double que estão subtraindo, (2.5)-(2.4), mas o resultado retorna 0.10000000000000009, o que eu posso fazer para concertar esse problema?

double num1 = 2.5;

double num2 = 2.4;

double total = num1-num2;

System.out.println(total);

//Total retorna 0.10000000000000009

2 Respostas

D

se vc precisa de precisao em operacoes use BigDecimal

T

Valeu cara, funcionou!

BigDecimal num1 = new BigDecimal(jTextField1.getText());
BigDecimal num2 = new BigDecimal(jTextField2.getText());
double nm1 = Double.parseDouble(jTextField1.getText());
double nm2 = Double.parseDouble(jTextField2.getText());
double subtracao = nm1-nm2;
        
if(subtracao == Math.rint(subtracao) && nm1 == Math.rint(nm1) && nm2 == Math.rint(nm2)){
     int n1 = (int) nm1;
     int n2 = (int) nm2;
     int sb = (int) n1-n2;
     jLabel1.setText("Resultado: "+n1+" - "+n2+" = "+sb);
}else{
     jLabel1.setText("Resultado: "+num1+" - "+num2+" = "+num1.subtract(num2, MathContext.DECIMAL32));
}
Criado 30 de maio de 2015
Ultima resposta 30 de mai. de 2015
Respostas 2
Participantes 2