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

11 respostas Resolvido
programaçãojava
J

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 [telefone removido] fica 6.5893287479E10 em double

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

11 Respostas

O

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

J

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

F

Três dicas:

  1. BigDecimal,
  2. Esse post,
  3. Tente isso
A
Solucao aceita

Poderia fazer assim:

String str = "[telefone removido]";
        BigDecimal bDec = BigDecimal.valueOf(Long.parseLong(str)); // ou BigDecimal.valueOf(Double.parseDouble(str));
        System.out.println(bDec);
J

Muito obrg Antonio vou tentar aki

F

O retorno foi “[telefone removido]”.

J

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

A

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

D

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 = “[telefone removido]”;
BigDecimal numero = new BigDecimal(str);

J

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.

A

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

Criado 9 de agosto de 2018
Ultima resposta 9 de ago. de 2018
Respostas 11
Participantes 5