Qual a melhor forma de trabalhar valores monetários?

3 respostas
V

Gostaria de saber se a melhor forma de trabalhar valores monetários, é com o BigDecimal??, ou qualquer outra classe, pois vou fazer um programa para contabilidade, existe alguma classe que a comunidade usa para tal??? qual a melhor forma de o usuário entrar com valores??? 1500,00 ou 1.500,00, existe algum metódo pronto em Java para conferir tais coisas, ou tem que ser criado na mão um metódo que o cara entre e seja tratado???

Obrigado,
Vitor Oliveira

3 Respostas

J

Você pode usar um double mesmo, pra formatar você pode usar um DecimalFormat ou Formatter:

http://java.sun.com/j2se/1.5.0/docs/api/java/text/DecimalFormat.html
http://java.sun.com/j2se/1.5.0/docs/api/java/util/Formatter.html

P

quanto a formatação do número essas que o jairelton mostros são boas, agora quanto a questão do arrendondamento eu prefiro usar BigDecimal mesmo, acho que ele consegue ser mais preciso do que double ou float, mas acho que tratando-se de valores monetarios ( 2 casas decimais ) não de tanta diferença assim…

L

Na real depende o que você vai fazer com esses valores monetários, se for uma somatória de valores calculados por exemplo, as duas casas decimais não vão te servir muito, no fim vc vai poder ter diferenças de 1 centavo ou pior, centavos… eu ja trabalhei 2 anos com ERP em finanças (não em java) e nós usavamos 8 casas decimais e acredite, ocorria erros onde o sistema barrava porque dava diferença de 1 centavo… então depende o que você vai fazer com esses valores monetários, se é só valores que o usuário informa (tipo preço do produto, valor recebido, valor do título, etc), tudo bem, agora se tem um valor calculado, por exemplo conversão do valor em outras moedas, valor unitário para uma compra (no caso valor total / qtde comprada), etc, vale a pena vc pensar bem antes de adotar no sistema só 2 casas decimais.

Bem… é só um conselho… como eu disse, se só o usuário informar valores vc não vai ter problemas, mas na hora de gravar ou recuperar da base qualquer valor calculado vc pode ter e para arrumar isso é dificil depois, pois vc pode ter gravado ja na base valores que não são precisos ou ter ja um sistema inteiro feito para duas casas. E sabe né… dinheiro é uma coisa que não da para simplesmente arredondar hehehe

Criado 28 de setembro de 2006
Ultima resposta 29 de set. de 2006
Respostas 3
Participantes 4