[Resolvido]Erro em conversão de String para Double com um valor grande

Double d = Double.parseDouble(pala);

Estou fazendo a conversão a sim.

quando passo um valor pequeno ele converte normal.

ex 1000 ficaria 1000.0 em double

porem o numero que eu quero criar eh com 11 dígitos e foca a sim

ex 65893287479 fica 6.5893287479E10 em double

Alguém me ajudaria a fazer essa conversão coreta

a conversão não está errada, ele só esta escrevendo em notação cientifica

Certo mais como eu converto de notação para double comum?

Três dicas:

  1. BigDecimal,
  2. Esse post,
  3. Tente isso

Poderia fazer assim:

        String str = "65893287479";
        BigDecimal bDec = BigDecimal.valueOf(Long.parseLong(str)); // ou BigDecimal.valueOf(Double.parseDouble(str));
        System.out.println(bDec);

Muito obrg Antonio vou tentar aki

O retorno foi “65893287479”.

Sim e deu certo de inserir no banco tbm ja muito obrg

Sim. O problema não seria apenas a conversão? Talvez para manipular como número.

Mas não entendi a razão de converter para Long ou Double e depois converter para BigDecimal, ele não recebe uma String para conversão?
String str = “65893287479”;
BigDecimal numero = new BigDecimal(str);

Então @Daniel95 foi o seguinte no meu banco recebe float e eu pego o valor digitado em String para min converter para double o valor ficava em decimal automaticamente agora eu convertendo em bigDecimal ele ficou inteiro como eu queria.

Sim. Tem o método estático valueOf e também pode criar um objeto passando a string no construtor.