Numero De Tres Algarismo
Como funciona o numero de tres algarismo
Se você está mexendo com planilhas no trabalho ou conferindo códigos de produto, já se deparou com campos que só aceitam números entre 100 e 999. Isso é o numero de tres algarismo no uso prático. Parece simples à primeira vista, mas tem uns detalhes que quem nunca foi pego pelo erro entende rápido. A regra é essa. O número precisa ter exatamente três dígitos. Não pode ser 99, não pode ser 1000. Começa em 100, termina em 999. A maioria dos sistemas que aceitam esse formato fazem a validação no próprio campo de entrada. Se o usuário digitar algo fora do range, o campo fica vermelho e não deixa prosseguir. Eu já configurei telas de cadastro onde o técnico insistia em colocar "050" como código de setor, achando que funcionava. O sistema rejeitava porque tem apenas dois dígitos significativos. Aí eu botei um mask no frontend que obrigava três dígitos, incluindo zeros à esquerda quando necessário. Resolveu na hora.
O problema é que números como 001, 050 ou 099 existem em contextos reais. Código de lote, identificação de linha de produção, número de asiento em teatro. O sistema acha que tem apenas um ou dois dígitos quando vê "50", mas você precisa forçar a representação com três posições. No Excel, uma formatação personalizada como "000" resolve. Em bancos relacionais, o jeito é usar CHAR(3) em vez de INT, ou então tratar com LEFT pad quando for exibir. Tem um detalhe técnico que quase todo mundo erra. Quando você valida com expressão regular, "^\\d{3}$" funciona para tudo que tem três dígitos. Mas cuidado com validação por tamanho de string em sistemas que aceitam input malicioso. Alguém pode passar espaços ou caracteres invisíveis. Eu já vi isso acontecer em APIs que só checamel length sem sanitizar. O workaround foi adicionar um trim antes de validar e também converter para inteiro antes de guardar no banco. Assim evita entry de valores como " 123" que passam no size check mas estragam a consistência. Agora, se o seu cenário exige números de até mil com valores como 000 ou 001, aí o numero de tres algarismo deixa de ser suficiente. Você precisa pensar em ranges maiores ou em representação hexadecimal quando o negócio é código de produto. Eu já passei por isso em um sistema de logística onde os SKUs tinham 6 dígitos, mas o módulo de conferência só aceitava 3. O resultado era colisão constante. Aí migrei para uma tabela de mapeamento com lookup por código completo. Demorou uns dias de ajuste, mas depois não tive mais problema de duplicate key.
Problemas comuns e como resolver
A validação incorreta é a maior dor. Se o usuário digita "10", o sistema acha que tá errado. Se digita "1000", também tá errado. A validação precisa ser feita tanto no cliente quanto no servidor. Confie no campo do frontend, mas nunca guarde valor sem validar no backend também. Eu já vi dado entrar no banco com "099" virar "99" e causar bug na tela de relatório porque a query esperava três caracteres. O outro problema é exibição. Números como 100 vs 099 precisam ser formatados corretamente quando vão pra tela. Se o negócio é código de setor ou identificação de linha, a representação com zeros à esquerda é obrigatória. Em relatórios impressos, o jeito é usar formatação de string com padding. No Excel, a formatação "000" já faz isso automaticamente. Em linguagens como Python, f"{valor:03}" resolve. Em JavaScript, padStart(3, '0') também funciona. Quando o sistema exige que o numero de tres algarismo seja realmente três dígitos, esqueça validação por tipo numérico simples. Use CHAR em vez de INT se for banco, ou string com size fixo. Eu já passei por isso em um projeto de ERP onde o campo de código de produto era INT e perdia o zero à esquerda. Aí o módulo de conferência ficava louco porque "050" virava "50" e não batia com o registro físico. O workaround foi mudar pra VARCHAR com validação de regex "^\\d{3}$" e pronto. Levei uma tarde, mas depois não tive mais problema de consistência.

Quando o numero de tres algarismo não basta
Tem cenários onde o número de três dígitos simplesmente não é suficiente. Código de país, ISBN, faixa etária com centenas. Aí você precisa pensar em algo maior. Eu já vi sistema de estoque usar três dígitos para código de produto e acabar tendo conflito quando a operação cresceu. Aí migraram para seis dígitos com dicionário de lookup. O processo demorou uns três dias de ajuste, mas depois resolveu. Outro caso é quando o numero de tres algarismo precisa representar valores negativos ou decimais. Aí o campo deixa de ser adequado. Se o negócio é temperatura, altura, ou qualquer medida que possa ser fracionária, pense em FLOAT ou DECIMAL. Eu já configurei tela onde o campo era INT e o usuário tentava entrar com "12.5". O sistema rejeitava e ele achava que era bug. Aí mudei pra VARCHAR com validação mais flexível. Resolveu. Resumindo: o numero de tres algarismo é útil em contextos específicos, mas não é bala de prata. Se o seu sistema lida com códigos curtos de até mil itens, funciona bem. Se precisa de mais granularity, pense em outra representação. Eu já vi gente insistir em usar três dígitos pra tudo e depois se arrepender. A solução foi migrar para código alfanumérico com dictionary lookup. Leva mais tempo pra desenvolver, mas não volta atrás.
Galeria
-
Solved: Um número de três algarismos é escolhido ao acaso. Qual é a ... -
Quantos Números De Três Algarismos Distintos Existem - RETOEDU -
Quantos Sao Os Numeros Abc De Tres Algarismos - NAZAEDU -
Quantos Numeros De Tres Algarismos Distintos Podemos Formar Usando ...