Ajuda com classe

6 respostas
0

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.

6 Respostas

G
BigDecimal big = new BigDecimal(valorDouble);

[]'s

A

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");
adriano_si

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 []

rmendes08

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 []

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

A

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.

A

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

Criado 24 de outubro de 2008
Ultima resposta 3 de jun. de 2016
Respostas 6
Participantes 6