Subtraindo dois números decimais dando saídas estranhas [duplicadas]
Esta questão já tem uma resposta aqui:
O que há de errado com esse simples cálculo "duplo"? [duplicado] 5 respostasEnquanto eu estava me divertindo com os códigos do Java Puzzlers (eu não tenho o livro) me deparei com este pedaço de código
public static void main(String args[]) {
System.out.println(2.00 - 1.10);
}
Saída é
0.8999999999999999
Quando tentei mudar o código para
2.00d - 1.10d
ainda recebo a mesma saída0.8999999999999999
Para,2.00d - 1.10f
Saída é0.8999999761581421
Para,2.00f - 1.10d
Saída é0.8999999999999999
Para,2.00f - 1.10f
Saída é0.9
Por que não recebo a saída como0.9
em primeiro lugar? Eu não poderia fazer cara ou coroa nisso? Alguém pode articular isso?