Duvida double

Pessoal tenho uma string Atributo3 com valor de “40.000.000” quero convertelá pra double então utilizei:
Double i3 = Double.parseDouble(Atributo3);

só que da erro algm pode me explicar oq estou fazendo de errado ?

O que você fez de errado foi não falar qual o erro ocorrido. hehehehe :smiley:

Ah sim, acho que sei o que é.

O ponto é usado para marcar onde iniciam os números decimais, e você colocou 2 pontos aí no seu número, portanto ele não vai converter, lançará uma Exception provavelmente. se você quer o número 40 mil, remova o primeiro ponto.

Ja achei o erro é pq tem muitos pontos vou usar outro métodos pra isso

Digao, o erro provavelmente deve ter sido o numberformatexception, por conta dos “.”, eu fiz um split para tirar os pontos, e depois converter, porém deu erro também.

tenta colocar o double i3 em menusculo.

double i3 = Double.parseDouble(Atributo3);

Se você for usar esses valores para transações que simulem dinheiro use BigDecimal, pois valores do tipo float ou double podem lhe trazer imprecisões.

[quote=NathanPalmares]Pessoal tenho uma string Atributo3 com valor de “40.000.000” quero convertelá pra double então utilizei:
Double i3 = Double.parseDouble(Atributo3);

só que da erro algm pode me explicar oq estou fazendo de errado ?[/quote]

Seu valor é 40 milhões ou 40 mil?

De qualquer maneira, o correto é sempre usar DecimalFormat.parse. Exemplo em:

Essa história de ficar tirando e pondo os pontos é coisa de quem usa outras linguagens que não têm esses recursos :slight_smile:

[quote=NathanPalmares]Pessoal tenho uma string Atributo3 com valor de “40.000.000” quero convertelá pra double então utilizei:
Double i3 = Double.parseDouble(Atributo3);

só que da erro algm pode me explicar oq estou fazendo de errado ?[/quote]

tente usar:

Atributo3 = 40000000
Double i3 = Double.parseDouble(Atributo3);