apesar de não colocar o R$ deu certo mas preciso fazer a soma de dois campos e setar o resultado em um 3 campo
campovalorp + campovalorS = campovalortotal
como faço uma vez que com a mascara os campos passaram a usar , em vez de . para separar as casas decimais
Você está confundindo dados brutos daqueles formatados.
Quando você formata um valor, normalmente esse servirá apenas para ser apresentado ao cliente. A manipulação desses deve ser realizada através dos dados brutos, sendo que no teu caso, deve ser através de um double, float ou BigDecimal.
P
paulagatt
Eder Peixoto:
Olá Paula!
Você está confundindo dados brutos daqueles formatados.
Quando você formata um valor, normalmente esse servirá apenas para ser apresentado ao cliente. A manipulação desses deve ser realizada através dos dados brutos, sendo que no teu caso, deve ser através de um double, float ou BigDecimal.
P
paulagatt
eu entendi que quando eu formato o campo ele apresenta um visualização do que eu digitei mas como faço para converter o que eu digitei nesse campo e transforma-lo em double para realizar uma soma
desculpa acho que não sei bem explicar
mas se puderem me ajudar fico grata desde já
A
Anderson_S
Boa noite. não sei si entendi bem seu problema, mas acho que vc quer realizar uma soma com os valores contidos em um Testfield formatado né???
pois é, tenho um método aqui ki eu acho que vai te ajudar, por que ele retira as mascaras dos campos formatados, ficando apenas os valores.... sendo assim após usar o método basta vc apenas fazer o calculo que deseja, vou postar o método de dar um exemplo de como seria essa sua solução, caso eu tenha entendi corretamente.
MÉTODO QUE RETIRA A MASCARA
privateStringremoveNaoNumericos(Stringentrada){// Padrão que caracteriza caracteres numéricosPatternnumericos=Pattern.compile("([0-9])");// Colocando o texto no padrão para ver o que encaixaMatcherencaixe=numericos.matcher(entrada);// Criando um buffer de saída, que é uma solução// mais otimizada do que ir concatenando uma StringStringBuffersaida=newStringBuffer();// A cada número encontradowhile(encaixe.find())// Adiciona-se esse número ao buffersaida.append(encaixe.group());// Devolvendo o buffer convertido em Stringreturnsaida.toString();}
EXEMPLO DE CHAMADA DO MÉTODO
Stringvalor=removeNaoNumericos(seutextFieldFormatado.getText()); // Nessa parte vc passa o valor do seu TextField Formatadodoublenum=Double.ParseDouble(valor);// Converte o valor "String" para Double
..............//agoravcrealizasuasomaouqualqueroutroprocessoaritimético.
Eder_Peixoto
Todo formatador possui um parser, o qual converte a string apresentada em um objeto (no caso de números, retorna uma instância de Number). Para invocá-lo: