Ajuda com classe

Bom Dia Pessoal!!

Um double não está sendo suficiente para eu guardar a quantidade de casas
necessárias em uma aplicação. Preciso guardar um número decimal muito grande! O que
poderia usar?

Existe alguma classe que me ajude com isso?

Desde ja agradeço.

1 curtida
BigDecimal big = new BigDecimal(valorDouble);

[]'s

1 curtida

O construtor do BigDecimal exige como parâmetro Strings e não valores “double”, como foi exemplificado mais acima. O próprio javadoc deste construtor nos aconselha a usar construtor do BigDecimal com Strings.

No caso, ficaria mais ou menos assim (você adapta a sua necessidade):

BigDecimal big = new BigDecimal("alguma string");

onde “alguma string” pode ser o valor:

BigDecimal big = new BigDecimal("0.1");
1 curtida

Da versão 7: http://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html

Dá pra ver toda a lista de construtores disponíveis, e um que utiliza double existe e é válido…

Não achei esse conselho… o.0

Se puder indicar, pois ele seria de muita importância.

Abs []

1 curtida

Da versão 7: http://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html

Dá pra ver toda a lista de construtores disponíveis, e um que utiliza double existe e é válido…

Não achei esse conselho… o.0

Se puder indicar, pois ele seria de muita importância.

Abs [][/quote]

Existe problema de imprecisão com o construtor new BigDecimal(double):

2 curtidas

Obrigado pelo esclarecimento, rmendes08. :smiley:

adriano_si , devo ter me expressado de maneira a induzir uma síntese errada da informação passada. O problema consistem mesmo na precisão utilizando parâmetros double.

1 curtida

Lendo na documentação,achei interessante a opção: doubleToLongBits(double value).