Olá , Galera , tenho um método em VB que recebe um parâmetro String e formata esse valor dessa forma que está abaixo.
vstrCodRef = Format(vstrCodRef, "0000000000")
Pelo o que eu entendi , ele pega esse parâmetro e coloca nesse padrão , que é todos os caracteres juntos.
em java eu estava utilizando algo parecido mas o mesmo não funciona, segue o código.
[code]String cpf = “123.456.789.23”;
cpf = String.format("00000000000",cpf);
System.out.println( cpf);[/code]
Invés de imprimir os números da seguinte forma 12345678923, ele imprimi 00000000000.
String.format usa a formatação de acordo com o que está descrito nesta documentação:
http://docs.oracle.com/javase/6/docs/api/java/util/Formatter.html
Em particular, usar “0000000” é um formato que o Java aceita em outra classe ( http://docs.oracle.com/javase/1.5.0/docs/api/java/text/MessageFormat.html ) mas não gosto muito dessa classe, acho mais prático usar o formato “%010d” que é o que você quer usar.
Cuidado, String.format, para formatar números com zeros à esquerda, pede um número mesmo, portanto você tem de tirar os pontos antes e então converter para um long.
O que você mostrou não funciona nem em VB, que eu saiba (esse formato cheio de zeros requer um número, não uma String).