AJUDA - Converter String to Double - Estourando a quantidade de bytes

3 respostas
L

Pessoal - Estou tentando converter a string abaixo para double porém esta estourando a variavel o valor esta ficando 1.2421387E7 mas deveria ficar 12421287.0000 alguem sabe o que devo fazer??? Segue meu codigo abaixo!

Double x = new Double("[telefone removido].0000").doubleValue(); System.out.println(x);

3 Respostas

ViniGodoy

Não está estourando nada, esse é só o modo de funcionamento do double.

Se você precisa de uma precisão arbitrária, use o BigDecimal.

emanuelCruz

lucasborges:
Pessoal - Estou tentando converter a string abaixo para double porém esta estourando a variavel o valor esta ficando 1.2421387E7 mas deveria ficar 12421287.0000 alguem sabe o que devo fazer??? Segue meu codigo abaixo!

Double x = new Double("[telefone removido].0000").doubleValue(); System.out.println(x);

Não está estourando.
Apenas está imprimindo com notação cientifica (1.2421387 * 10 elevado a 7 = 12421387)

Double x = new Double("[telefone removido].0000"); //tambem nao precisa do .doubleValue
System.out.println(x);
		
//imprimindo como voce quer:

NumberFormat nf = NumberFormat.getNumberInstance();
System.out.println(nf.format(x));
ViniGodoy

Melhor ainda é usar o tipo primitivo direto:

double x = Double.parseDouble("[telefone removido].0000"); //sem o doubleValue
System.out.println(x);
		
//imprimindo como voce quer:

NumberFormat nf = NumberFormat.getNumberInstance();
System.out.println(nf.format(x));
Criado 1 de março de 2011
Ultima resposta 1 de mar. de 2011
Respostas 3
Participantes 3