Como criar objetos BigDecimal em Java

Para criar um BigDecimal objeto em Java, você chamar um dos construtores que você vê abaixo. Cada um desses construtores tem um valor e converte-lo para um BigDecimal objeto.

Embora você possa criar BigDecimal valores a partir de um duplo ou flutuador valor, e não é recomendado. O ponto inteiro de usar BigDecimal é o de evitar os erros de precisão com que são inerentes duplo e flutuador valores, ea única maneira de fazer isso é evitar o uso duplo e flutuador completamente. Como diz o velho ditado computador lembra, "Garbage in, garbage out".

ConstrutorExplicação
BigDecimal (double val)cria um BigDecimal a partir do valor duplo.
BigDecimal (float val)cria um BigDecimal a partir do valor float.
BigDecimal (val int)cria um BigDecimal a partir do valor int.
BigDecimal (long val)cria um BigDecimal do valor longo.
BigDecimal (String val)cria um BigDecimal a partir do valor de cadeia. A cadeia deve conter um validrepresentation de um número decimal.

Tome estas declarações, por exemplo:

valor BigDecimal = new BigDecimal (0,01) -System.out.println (valor) -

Aqui está o que será impresso no console:

0,01000000000000000020816681711721685132943093776702880859375

A melhor maneira de criar uma BigDecimal objeto com um valor decimal inicial é através de uma corda, como esta:

valor BigDecimal = new BigDecimal ( "0,01") -

Aqui, valor tem um valor de exatamente 0,01.

Se o valor inicial é um número inteiro, você pode passá-lo com segurança para o construtor. Lembre-se que números inteiros não têm os mesmos problemas de precisão que dupla e flutuadores Faz. Além disso, você pode converter um BigDecimal para uma duplo unicamente com a finalidade de utilizar o NumberFormat classe para formatar o resultado. Contanto que você não use o duplo em todos os cálculos, você não terá que se preocupar com imprecisões de ponto flutuante.

Nota: o BigDecimal classe tem nenhum construtor padrão porque você não pode ter um BigDecimal objeto sem um valor.

menu