Junior — Middle
Pode-se usar o tipo de dados double para armazenar valores com alta precisão?
sobes.tech IA
Resposta da IA
O tipo de dado double em Java representa um número de ponto flutuante de dupla precisão e é adequado para armazenar números com parte fracionária. No entanto, não garante alta precisão ao trabalhar com frações decimais devido às características da representação binária dos números de ponto flutuante. Isso pode levar a erros de arredondamento, o que é crítico para tarefas financeiras ou outras que exijam cálculos precisos.
Para armazenar valores com alta precisão, especialmente em aplicações financeiras, é melhor usar a classe BigDecimal, que fornece uma representação exata de números decimais e operações sem perda de precisão.
Exemplo de uso de BigDecimal:
import java.math.BigDecimal;
public class PrecisionExample {
public static void main(String[] args) {
BigDecimal a = new BigDecimal("0.1");
BigDecimal b = new BigDecimal("0.2");
BigDecimal sum = a.add(b);
System.out.println("Sum: " + sum); // Vai imprimir exatamente 0.3
}
}