Notação cientifica Double

Pessoal,

Alguém sabe como fazer para a classe double não utilizar notação cientifica. Quando fazemos:

double d =100000000000000.0
System.out.println(d);

Ele utiliza notação cientifica: 1Exx

Como exibir o número completo?

Obrigado

Utilize a classe NumberFormat :smiley:

utilizando

DecimalFormat df = new DecimalFormat(“0.####”);

System.out.println(df.format(12345678901234567890.3695));

Obtenho: 12345678901234567000

O problema ocorre pela precisão do número. Meu número tem (20.4) 20 digitos e 4 decimais.

Como evitar o arredondamento?

Obrigado

Também passei por esse problema usando double…
Tente usar BigDecimal que funciona certinho com quantas casas quiser

Só uma curiosidade…em qual situação que vais usar um numero tão grande…de 20 dígitos?

É uma apliacação cientifica.

Mesmo utilizando BigDecimal ele arredonda a casa decimal.

Alguma idéia.

No bigDecimal vc pode definir quantas casas decimais vc vai usar… ele sai com uma quantidade X por default…mas ele possui métodos para informar quantas casas decimais deve usar

BigDecimal só vai arredondar se vc pedir.
Ele até lança uma exception caso não consiga representar corretamente todas as casas decimais.