olá pessoal
formatei uma variável para o estilo contábil e coloquei numa caixa de texto. mas agora eu quero fazer o processo inverso e ñ sei como fazer.
olhem o código
String dinheiro =String.format("%,.2f",10000.00);
preCus.setText(dinheiro);// imprime 10.000,00 na caixa de texto
obrigado a todos
Não sei exatamente como você vai utilizar este valor, mas ve se algo assim resolve
String dinheiro =String.format("%,.2f",10000.00);
System.out.println(dinheiro);
Double valor = Double.parseDouble(dinheiro.replace(",", "").replace(".", "")) / 100;
System.out.println(valor);
//ou
System.out.println(dinheiro.replace(".", "").replace(",", "."));
Veja se a classe NumberFormat atende suas necessidades.
acho q vcs ñ entenderam
vou colocar de outro jeito
String dinheiro =String.format("%,.2f",10000.00);
JTextFild.setText(dinheiro);// imprime 10.000,00 na caixa de texto
quero tirar o texteo da text fild e voltar ao valor original
de 10.000,00 para 10000.oo
Usando NumberFormat não tem que ficar fazendo isso toda hora.
double dinheiro = 1000.00;
System.out.println(NumberFormat.getCurrencyInstance().format(dinheiro));
Resultado:
R$ 1.000,00
Ou use JFormattedTextField
ainda ñ funcionou ErickRAR
como eu tiro o valor do TEXTFILD
e retornar para double ou float?
Eu havia lhe respondido no outro tópico… vc duplicou. Vou colocar a resposta aqui, acho que já faz o que vc quer:
Use uma classe específica para formatação de números, ela vai te oferecer opções de fazer parsing da string para o número novamente. Leia sobre o NumberFormat:
http://docs.oracle.com/javase/7/docs/api/java/text/NumberFormat.html
Um exemplo simples:
NumberFormat format = NumberFormat.getCurrencyInstance();
String formattedNumber = format.format(10000.00);
System.out.println(formattedNumber); // "R$ 10.000,00"
Number n = format.parse(formattedNumber);
System.out.println(n); //10000.00
E uma dica, se for trabalhar com valores monetários (ou outro que exija precisão), não use Double ou float. Use BigDecimal.
wagnerfrancisco eu entendi o seu códio
mas na linha:
5. Number n = format.parse(formattedNumber);
ao invés de formattedNumber teria q ser um JTextFild
Assim como você usou o método setText para colocar o valor lá, você usa getText para tirar:
String formattedNumber = preCus.getText(); // pegando o valor que esta no jTextField preCus
Number n = format.parse(formattedNumber); // transformando em numero
vlw wagnerfrancisco
funciona perfeitamente
mas precisei do try e catch
muito obrigado