Alocar uma String com Mascara em um Double

5 respostas
guirodr

Olha eu aqui de novo :smiley:
Sou iniciante no Java e gostaria de saber como pegar o valor em um JFormattedTextField e passar pra um Double, eu tenho o FormattedField com a mascara “R$##,##” e queria passar pra uma variavel Double pra poder calcular o troco, como faz?
Obrigado :smiley:

5 Respostas

Eric_Yuzo

Se o problema é a conversão para double, pode ser resolvido com:

double valor = Double.parseDouble(suaString); //Converte sua String para double
guirodr

O problema é que o TextField ta com uma mascara “R$##,##”, logo, não deu pra passar direto pro Double, mas eu usei o replace pra substituir a virgula por ponto e retirar o R$, deu certo, obrigado :smiley:

Eric_Yuzo

Você estava pegando o valor do text field com getValue()?

F

Não tem como passar uma string para double se conter algum character que não seja número(isso irá será uma exeção), como você está tentando passar a string"R$##,##" então não vai dá certo, o que você pode fazer é:

Double valor;
valor = Double.parseDouble(suaStringComFormato.subString(2));

e depois disso concatenar onde for impresso. Por exemplo:
System.out.println(“O resultado final é R$” + valor);

Entendeu?

guirodr

Entendi sim, mas eu já consegui da forma que eu falei, obrigado :smiley:

Criado 24 de outubro de 2010
Ultima resposta 28 de out. de 2010
Respostas 5
Participantes 3