Olá galera,
Estou começando a desenvolver uma aplicação que trabalhará com valores monetários. Gostaria de saber qual o melhor tipo para tratar este tipo de valor. Nesta aplicação, os valores passarão por alguns cálculos, e manter a precisão é importante. Pesquisei sobre o assunto e alguns indicam o uso de Double com 6 ou mais casas decimais, outros indicam o tipo Integer, considerando que os dois últimos dígitos sejam os centavos, mas enfim, ainda não cheguei a uma conclusão. Qual vocês indicariam?
Valores Monetários
4 Respostas
Olá galera,
Estou começando a desenvolver uma aplicação que trabalhará com valores monetários. Gostaria de saber qual o melhor tipo para tratar este tipo de valor. Nesta aplicação, os valores passarão por alguns cálculos, e manter a precisão é importante. Pesquisei sobre o assunto e alguns indicam o uso de Double com 6 ou mais casas decimais, outros indicam o tipo Integer, considerando que os dois últimos dígitos sejam os centavos, mas enfim, ainda não cheguei a uma conclusão. Qual vocês indicariam?
indico o BigDecimal[.
leia este artigo para entender porque.
Recomendo o uso do padrão Money
No livro Padrões de Arquitetura de Aplicações Corporativas tem um bom exemplo de implementação. Fala também dos problemas utilizados ao se trabalhar com moedas, como rateio, e define formas de contornar esse problema.
Exemplo, ao ratear 4 Dinheiros por 3 teriamos 3 Dinheiros de 1,3333333333333333333333333333333, e eu não tenho como dar para alguem 0,3333333 centavos! BigDecimal não resolve esse tipo de problema. Ao trabalhar com moedas é necessário uma nova abordagem, a meu ver.
Boa tarde!!
Uso muito o BigDecimal para cálculo de impostos e etc…!!
Att.
O BigDecimal é bem usado nestes casos. O custo dele é alto, mas compensa.
Criado 16 de março de 2012
Ultima resposta 16 de mar. de 2012
Respostas 4
Participantes 5
Alura Sistemas operacionais: entenda seu conceito e suas funções Descubra o que são sistemas operacionais, suas funções e tipos. Aprenda tudo de forma clara e objetiva. Não perca tempo!
Casa do Codigo Orientacao a Objetos: Aprenda seus conceitos e suas... Por Thiago Leite e Carvalho — Casa do Codigo