Completar números com zeros a esquerda
Ao lidar com impressão de números em relatórios, geralmente é necessário preencher todas as posições com o número zero a esquerda.
Exemplo:
É necessário preencher um campo de 10 posições, onde dado um número qualquer, que seja menor do que a quantidade de posições, então as posições do lado esquerdo devem ser preenchidos com o número zero.
Número | Impressão |
382 | 0000000382 |
450018 | 0000450018 |
Uma das técnicas mais comuns é usar a quantidade total de números do campo e adicionar com zeros a esquerda e depois remover os zeros excedentes.
int n = 38002; String zeros = "0000000000"; String numero = zeros + n; System.out.println(numero.substring(numero.length() - 10));
No Java 5 existe um método printf, copiado da linguagem C que permite formatar a impressão do resultado.
int n = 38002; System.out.printf("%010d", n);
Esta é apenas uma das funcionalidades adicionadas ao Java 5 que aos poucos são incorporadas no dia a dia dos projetos.
Atualização em 28/julho:
Nem tudo é impresso no console, mas manipulações de variáveis, então basta usar outro método que retorna uma String. No exemplo abaixo, a variável f, contém o número formatado.
String f = String.format("%010d", n); System.out.printf(f);
Deixe um comentário