Erro de soma com Double

2 respostas
abelgomes
double d1 = 4193.85;
double d2 = 1057.10;
System.out.println(d1+d2);

Precisava fazer uma soma com esses benditos numeros e comprar com o que vinha de um outro de sistema, para minha surpresa o resultado foi: 5250.950000000001 enquanto do outro sistema vinha 5250.95 (sempre dava diferente).

Lição: Nunca confiar num double?
Explicação: ??? http://blog.caelum.com.br/arredondamento-no-java-do-double-ao-bigdecimal/

2 Respostas

dieguittom

É, o double tem problemas com precisão.
O BigDecimal é o que melhor trabalha com campos de precisão, principalmente em valores monetários. você pode escolher quanto de precisão você quer usar.

M

é abelgomes… devido a esses problemas de arredondamento do Double, é recomendável que use BigDecimal.

Abraço.

Criado 26 de maio de 2011
Ultima resposta 26 de mai. de 2011
Respostas 2
Participantes 3