Olá a todos,
procuro alguma forma de formatar uma string com cep e outra de telefone para me retornar já com as respectivas máscaras.
encontrei somente como usar com o JformattedTextField e outros componentes, mas eu gostaria apenas de tratar a string, sem nenhum componente visual.
você poderia criar uma classe Cep e outra Telefone e formatar o toString()!!
espero ter ajudado!!
Abraço,
pois é, estou procurando como criar essa classe.
para formatar valores decimais que eu também precisava eu encontrei a DecimalFormat
ex:
new DecimalFormat("#,###,##0.00")).format(new Float(12345.67890)
já me retorna a string formatada com separação de milhar, milhão e somente duas casas decimais.
agora estou descobrindo como formatar cep e telefone
Não sei se é bem isso que tu precisa mas da uma olhada.
http://www.guj.com.br/posts/list/123213.java#666475
cara sua o EasyFaces cara…
Resolvi como o Kcoelho sugeriu, ficou desta forma.
String CEP = "12345678";
System.out.println(CEP.substring(0, 5) + "-" + CEP.substring(5));
String TEL = "1234567890123";
System.out.println("(" + TEL.substring(0, 2) + ")" + TEL.substring(2, 6) + "-" + TEL.substring(6, 10));
trata exatamente o que eu preciso de forma prática.
obrigado a todos pela ajuda.
Eu fiz uma função assim:
public static String formatString(String value, String pattern) {
MaskFormatter mf;
try {
mf = new MaskFormatter(pattern);
mf.setValueContainsLiteralCharacters(false);
return mf.valueToString(value);
} catch (ParseException ex) {
return value;
}
}
Para formatar é só usar assim:
String CEP = formatString("12345678","#####-###");
String TEL = formatString("1234567890123","(##) ####-####");
1 curtida
Eu até tentei usar o MaskFormatter… mas não consegui, então parti pra outra
mas legal que agora sei como usar 
valeu