Converter String para double

3 respostas
L

Pessoal,

Estou com o seguinte problema:

Tenho uma string que é um número em forma de fração.

Quando tento converter a String para double, ocorre um NumberFormatException, pois o método parseDouble não reconhece o caracter ‘/’ como um operador na hora de fazer a conversão.

Gostaria de saber se existe alguma forma ou algum método pronto do Java capaz de fazer essa conversão sem eu precisar de fazer isso “na mão”.

Exemplo:
Double.parseDouble(“1/2”) => gera excessão. “Gostaria” que me devolvesse 0.5

Agradeço desde já.

[]'s

3 Respostas

K

Usando o parseDouble talvar nao seja realmente possível. Já que / não faz parte de um número do tipo Double.

Se você tentar converter o resultado dessa operação para double, então você terá exito.

Double result = 1 / 2;

Claro que este exemplo pode nao se adequar ao seu caso, mas uma String “1/2” nao irá passar diretamente para Double dessa forma.

S

Oi Loiane,

O Double.parseDouble(String) não faz esse tipo de coisa…
O que ele pode fazer é converter uma String com o valor “0.5” para double.

O que vc pode fazer… ler sua String e separar os valores e a operação… e depois criar algum metodo para executar ela para vc…
Exemplo:

String a = “1/2”;

vc separa isso…

int num1 = 1
int num2 = 2

String operacao = “/”

e faz um switch … ou algo assim… para executar a operação

case “/”:
resp = num1 / num2

L

Valeu pessoal!

Já que não tem jeito, vou implementar mesmo… rsrs :grin:

[]'s

Criado 4 de outubro de 2006
Ultima resposta 4 de out. de 2006
Respostas 3
Participantes 3