De String para Double!

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!

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().

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

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,