Que são BigDecimal e MathContext em Java, qual suas funcionalidades?

3 respostas
programaçãojava
thitkd

Estou estudando e vi essas duas referências, BigDecimal.java e MathContext.java
Não sei o que são, qual sua funcionalidade, alguém pode me ajudar?

3 Respostas

L

BigDecimal
MathContext

D

Você usa MathContext no BigDecimal basicamente para definir a precisão de casas decimais dele. Por exemplo, quando você vai fazer uma divisão com BigDecimal (myBigDecimal.divide(otherBigDecimal);) você pode usar um MathContext para definir a precisão do resultado da divisão (como 10 casas decimais, por exemplo).

Você deve usar BigDecimal no lugar de double sempre que precisar de precisão, e isto inclui todas as vezes que for trabalhar com dinheiro.

Exemplo:

double d1 = 0.1;
double d2 = 0.2;
System.out.println(d1 + d2);

A Saída é “0.30000000000000004” ao invés de “3”! Com BigDecimal você não terá este problema.

Veja este Link sobre BigDecimal

thitkd

Muito obrigado pela explicação Douglas, foi de grande ajuda.

Grato

Criado 16 de março de 2017
Ultima resposta 17 de mar. de 2017
Respostas 3
Participantes 3