Pessoal estou tendo problemas na seguinte questão, tenho um campo formatado onde o usuário digita o valor do salário, que é formatado para: "###,###,##0.00" na sequencia capturo tal valor e faço o seguinte tratamento:String vlrSalario = ftfSalario.getText().replace("\\.","").replaceAll(",",".");
this.salario = Double.parseDouble(vlrSalario);
Nesse momento é apresentado um erro de numberformatexception… ao meu ver o tratamento que fiz acima aparenta estar correto, alguém pode me dar alguma sugestão?
Nesse momento é apresentado um erro de numberformatexception... ao meu ver o tratamento que fiz acima aparenta estar correto, alguém pode me dar alguma sugestão?
Bom dia amigo !!!!
tenta assim
number=df.format(number1);//passando o valor formatado para uma Stringformata=number.replace("\\.","").replaceAll(",",".");//fazendo o replaceSystem.out.println(df.format(number1));//Formatação original do seu sistemaSystem.out.println((formata)); //nova Formatação
marcos3
Fazendo novos testes aqui e ainda sem aplicar a dica do nosso amigo, constatei que se for informado, por exemplo, o valor de 678,00 funciona sem problema; agora se for informado 1.000,00, acontece o erro.
E
entanglement
O valor é “1.000,00” que você quer converter para “1000.00”. Então (note que a ordem dos tratores altera o viaduto) :
Valeu cara!
Desta forma que você indicou resolvi o problema. Agora uma pequena dúvida, a barra () que estava usando, quando ela deveria ser utilizada então?
E
entanglement
“\.’” deve ser usada em expressões regulares para indicar que um “.” é um “.” mesmo, não algo que bate com qualquer caracter.
Ou seja, apenas no replaceAll (que não usei para resolver o seu problema).