Pq nesse resultado é uma dizima e não 0.2?!
public class ClasseA {
public static void main(String[] args) {
double valor = 3.2 - 3.0;
System.out.println(valor);;
}
}
resultado final: 0.20000000000000018
Pq nesse resultado é uma dizima e não 0.2?!
public class ClasseA {
public static void main(String[] args) {
double valor = 3.2 - 3.0;
System.out.println(valor);;
}
}
resultado final: 0.20000000000000018
é…realmente operações aritimeticas com números de ponto flutuante podem trazer problemas…
esse tópico é abordado de maneira bastante interessante no livro Java Effetive, mas para esclarecer mesmo pode dar uma olhada neste post…muito bom…
http://www.j2eebrasil.com.br/mostrar/47
Esta seria uma possível solução…
BigDecimal d1 = new BigDecimal("1.95");
BigDecimal d2 = new BigDecimal("1.03");
System.out.println(d1.subtract(d2));
[]'s
Luciano