Como montar e validar um número de três algarismo na prática
Um número de três algarismos é qualquer inteiro entre 100 e 999, fechado nos dois lados. Zero à esquerda não conta como algarismo significativo nessa definição padrão, então 047 vira 47 e cai para dois dígitos. A gente costuma usar essa faixa quando precisa de códigos fixos — CEP brasileiro tem oito, mas combinações de trava, senhas temporárias, códigos de lote e referências internas entram direitinho no modelo de 100 a 999. Vou começar pelo que importa mesmo: a construção. Se você precisa gerar uma sequência autoincremental com exatamente três casas, o truque é formatar o índice com complemento zero à esquerda e truncar só depois de ter certeza de que o valor não vai estourar. Em Python, por exemplo, f'{i:03d}' resolve a exibição, mas o controle real está em validar o limite superior antes de gravar. 999 é o teto. Se seu sistema espera rodar mais de mil itens sem resetar, esse formato vai travar ou precisar de migração manual.
Trabalhando com numero de tres algarismo em sistemas legados
Esbarrei num problema real numa implantação de ERP antigo onde o campo de código de produto era definido como CHAR(3) e o validador aceitava '001' até '999', mas rejeitava valores numéricos puros porque a camada de interface convertia tudo para string antes de salvar. O dado já existia no banco como inteiro, mas o formulário do usuário exigia zero à esquerda. Minha solução foi criar uma view de leitura que fazia LPAD(codigo, 3, '0') e um gatilho de escrita que validava se o número estava entre 100 e 999 antes de a inserção. Sem essa camada intermediária, os relatórios gerenciais quebravam porque misturavam campos numéricos com strings formatadas diferentes. O detalhe que poucos mencionam: em muitas linguagens, tratar esse intervalo como faixa numérica em vez de string economiza memória e evita problemas de ordenação. '100' < '99' em comparação lexicográfica, mas 100 > 99 numericamente. Se seu relatório classifica códigos alfanuméricos esperando ordem numérica, você vai ver '999' vindo antes de '100' e levará horas para identificar a causa raiz.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Para gerar esse tipo de número de forma consistente, o fluxo mais seguro é: validar entrada, formatar com complemento zero quando necessário para exibição, e armazenar sempre como inteiro. Nunca armazene '045' como string. A formatação pertence à camada de apresentação, não ao modelo de dados. Um limite prático que poucas pessoas consideram: se você precisar de mais de novecentas e noventa e nove identificações distintas, esse esquema não escala. A solução é migrar para quatro algarismos ou adotar um prefixo alfabético. Sistemas de saúde, por exemplo, usam letras de especialidade mais números precisamente para evitar esse gargalo. É mais trabalho inicial, mas evita retrabalho caro daqui a dois anos.
Se o uso for apenas visual — etiqueta, impresso, tela de operador — formatar com f-string ou equivalente na sua linguagem preferida basta. A parte chata começa quando o número precisa cruzar com cálculos, índices de arrays ou chaves estrangeiras. Nesses casos, trate como inteiro internamente e formate só na saída.