De String para Double!

3 respostas
T

Ola pessoal !

Estou com um problema, tenho um campo string que me retorna o seguinte valor 1.000,00, gostaria de converter esse valor para double, se eu der um Double.ParseDouble, ele retorna um erro, se eu dou um replace na string, para trocar a virgula pelo ponto, ai o valor fica 1.000.00, e ele tb da erro!

Ate+
Valeu!

3 Respostas

F

Primeiro da um replace pra tirar o “.” (poe pra trocar por “”), e depois da outro replace pra trocar a “,” por “.”, depois é só usar Double.parseDouble().

S

cara nao sei se resolver mais a classe Double tem um constructor que recebe string. tipo new Double(String); ver se dar certo!

C

Olá tiagogn

Você pode tentar o seguinte: crie um objeto do tipo NumberFormat e tente formatar a string vinda do usuário com esse objeto. Por exemplo,

String texto = "..."; // vem do usuário
NumberFormat formatador = NumberFormat.getNumberInstance();
float numero = formatador.parse(texto).floatValue();

O método parse pode lançar a exceção ParseException, por isso, você deve tratá-la. E a configuração de número (sobre pontos, vírgulas…) que ele usa é a configuração padrão do sistema que tiver rodando. Caso você queira especificar uma configuração de números, passe um objeto Locale no método getNumberInstance.

Até mais,

Criado 13 de julho de 2005
Ultima resposta 13 de jul. de 2005
Respostas 3
Participantes 4