Converter String para Double

5 respostas
B

[b]Ola Galeria

Estou com um pequene (pequeno mesmo) problema…

Em uma tela Xhtml, pego um valor preenchido pelo o usuario em Stirng, eh um valor $$ , recebo ele em String para pegar com a formatacao.

Porem para as outras classes preciso dessa valor em Double, so q com a mesma formatacao…

Alguem sabe como faço isso ??
[/b]

5 Respostas

leocantanhede

Se a formatação for exemplo 1.52 é só usar Double.parseDouble(valor), se for com vírgula, terá que trocar vírgula por ponto e dois usar o Double.parseDouble(valor).

Ex:

String valor = "9,99"

valor = valor.replace(",", ".");

Double valorDouble = Double.parseDouble(valor);
fernandopaiva

Babi_Spera:
[b]Ola Galeria

Estou com um pequene (pequeno mesmo) problema…

Em uma tela Xhtml, pego um valor preenchido pelo o usuario em Stirng, eh um valor $$ , recebo ele em String para pegar com a formatacao.

Porem para as outras classes preciso dessa valor em Double, so q com a mesma formatacao…

Alguem sabe como faço isso ??
[/b]

Para valores R$, não use Double use BigDecimal…Usando Double/double você pode agora ou futuramente sofrer com arredondamentos e outras inconsistências do “Double/double” para valores.

veja.

BigDecimal valor = new BigDecimal(valor.getText().replaceAll("\\.","").replace(",","."));
System.out.println(valor);

t+ e boa sorte.

B

Ola leocantanhede, do seu jeito quaseeee deu certo…

No lugar da “,” ele esta colocando ponto, e esta dando o erro : java.lang.NumberFormatException: multiple points

Como posso resolver ?

fernandopaiva

Babi_Spera:
Ola leocantanhede, do seu jeito quaseeee deu certo…

No lugar da “,” ele esta colocando ponto, e esta dando o erro : java.lang.NumberFormatException: multiple points

Como posso resolver ?

veja.

String valor = "1.000.000,00";
Double valorDouble = Double.parseDouble(valor.replaceAll("\\.","").replace(",","."));
System.out.println(valorDouble);

Tente isso, mas novamente não use Double para valores R$, use BigDecimal

t+ e boa sorte.

B


Vou tentar…, vlw`s pela dica do BigDecimal, mais o projeto q estou alterando é a da empresa… e ja esta como Double se alterar agora vai dar um monte de bug… Mas valeu pela dica …

Criado 1 de fevereiro de 2012
Ultima resposta 1 de fev. de 2012
Respostas 5
Participantes 3