Olá,
Estou com uma pequena dificuldade em transformar uma string em um double.
Ex:
String r1="24,44";
double s1 = 0.00;
r1.replaceAll(",", ".");
s1 = Double.parseDouble(r1);
ao tentar fazer isso ele apresenta o erro:
For input string: "51,75"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1241)
at java.lang.Double.parseDouble(Double.java:540)
replaceAll da String não altera o próprio objeto, só retorna, então faça isso: r1 = r1.replaceAll(",", “.”); Ou use StringBuilder (mais indicado para processar strings).
Era isso mesmo, muito obrigado, 
Você pode solucionar esse problema ou com StringBuilder ou recebendo o valor da String, lembre-se Strings são imutáveis!
r1 = r1.replaceAll(",", ".");
Com StringBuilder, o objeto seria modificado e você poderia utilizar a variável r1!
Fala rafa,
O código já está nos finalmente e já tenho outra variável criada, tudo está funcionando agora. Agradeço pela sugestão, todo conhecimento novo é bem vindo =D
[quote=prowler]Fala rafa,
O código já está nos finalmente e já tenho outra variável criada, tudo está funcionando agora. Agradeço pela sugestão, todo conhecimento novo é bem vindo =D[/quote]
Com toda a certeza prowler!
É importante deixar claro que todos os valores passados por parâmetro em Java são por valor, ou seja é passado apenas uma cópia da variável, mas no caso de ser um objeto não imutável, o valor do objeto muda. Os objetos são controlados através de referências, como se fossem controles, esses controles acessam o objeto na memória!
Se o objeto na memória for mudado logo a variável que está apontando pra ele na memória ficará com o mesmo valor que foi mudado no objeto.
Com String isso não acontece porque a cada momento que o valor dela é trocado cria-se um novo objeto na memória, e isso vale pra todas as classes Wrapper.