formatação de cpf + java

3 respostas
Bukira_Boy

Pessoal estou com um probleminha na formatação de cpf com java.
estou usando uma classe MaskFormatter que me traz parcialmente o que eu quero.

public String format(Object object) throws Exception {  
	       	String texto = object.toString();
			MaskFormatter mf = new MaskFormatter("###.###.###-##");  
			mf.setValueContainsLiteralCharacters(false);  
			
			return mf.valueToString(texto);		
	 }

no entanto estou precisando inserir zeros a esquerda quando o tamanho do cpf for menor que 11.
alguém ja passou por algo parecido ou tem alguma dica de como resolver isso?

3 Respostas

L

Dai Bukira isso resolverá seu problema… valew

NumberFormat nf =  NumberFormat.getIntegerInstance();
        nf.setMinimumIntegerDigits(11);
        nf.setGroupingUsed(false);
        System.out.println(nf.format(1234));
mczeferino

Talvez pudesse adicionar os zeros antes de formatar com a máscara:

Formatter f = new Formatter().format("%011d", 955264);
String s = f.toString();

Onde:
0 -> para preencher com zeros
11 -> o tamanho que deseja
d -> para conversão em dígitos

e o segundo argumento tem de ser dígitos.

Que dá a saída: [telefone removido].

Daí converteria para o string utilizando o seu método format…

A[]´s

A

É, pega o que o mczeferino falou e depois implementa seu código, pois pode dar alguns problemas na hora de formatar com uma quantidade de caracteres inadequada.

Criado 11 de agosto de 2009
Ultima resposta 11 de ago. de 2009
Respostas 3
Participantes 4