Estou com uma duvida que não é específica dessa aula. Eu ainda não entendi porque usar o BigDecimal para dinheiro ao invés de um float ou double.
Estou com uma duvida que não é específica dessa aula. Eu ainda não entendi porque usar o BigDecimal para dinheiro ao invés de um float ou double.
Olá Eduardo, tudo bem com você?
Isso tem a ver com a precisão do número. Infelizmente, o Float e o Double não são capazes de representar alguns números com a precisão absoluta que as transações monetárias exigem. Um teste que você pode fazer agora é somar 0.1 + 0.2
, você pode perceber que, ao imprimir esse resultado, o valor vai ser algo em torno de 0.30000000000000004
. Isso acontece porque o Float e o Double são incapazes de representar alguns números decimais em binário, resultando em dízima.
É aqui que entra o BigDecimal, recomendo ler esse artigo do blog da Caelum que explica mais sobre o assunto! ;)
Se tiver qualquer dúvida é só avisar! Abraços!!