Um Número Em Que O Algarismo Da Dezena Seja 6 - Um Número Em Que O Algarismo Da Dezena Seja 6 - BRAINCP
Um Número Em Que O Algarismo Da Dezena Seja 6 - BRAINCP

Entendendo os números com 6 na dezena

Se você precisa de um número em que o algarismo da dezena seja 6, estão falados os inteiros de 60 a 69. São dez possibilidades: 60, 61, 62, 63, 64, 65, 66, 67, 68, 69. O algarismo das unidades varia de 0 a 9, mas a posição das dezenas permanece fixa com o dígito 6. Isso parece simples, mas quando você começa a trabalhar com validação de dados ou geração automática, aparecem problemas que todo mundo subestima.

Como eu gero um número em que o algarismo da dezena seja 6 na prática

Eu trabalho com sistemas de validação onde preciso gerar códigos de produto, referências internas ou identificadores temporários. A regra era clara: o algarismo da dezena obrigatoriamente 6. Minha abordagem inicial foi usar uma função simples que retorna randomicamente um número entre 60 e 69. Mas tive um problema concreto que não esperava. Num projeto de integração com um sistema legado de estoque, percebi que o módulo que gerava esses identificadores estava retornando valores como 06, 07, 08 — basicamente truncando o zero à esquerda quando o número era usado em concatenções de strings. O sistema interpretava 06 como 6, quebrando a lógica de validação que dependia explicitamente do dígito na posição das dezenas. Perdi meia manhã debugando isso até perceber que o problema não estava na geração, mas na conversão para string com formatação inadequada. A solução foi usar sprintf("%02d", numero) antes de qualquer concatenação, garantindo que o zero à esquerda permanecesse intacto.

Esse tipo de erro é mais comum do que se imagina. Sistemas herdados adoram converver inteiros para texto sem padding, e quando sua regra depende do algarismo em uma posição específica, isso vira dor de cabeça rápido.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Pegadinhas que começam a aparecer quando você escala

O primeiro detalhe que as pessoas esquecem é que a noção de "algarismo da dezena" só faz sentido dentro de um contexto posicional. Em base 10, que é o que usamos normalmente, 67 tem 6 nas dezenas e 7 nas unidades. Mas se alguém pedir pra você aplicar essa regra em outro contexto — como em bases diferentes ou em representações hexadecimais — o resultado muda completamente. Já vi pessoal tentar aplicar a mesma lógica em códigos em lote onde os IDs eram representados em hexadecimal, e aí o "6 na dezena" virava 6 na posição das "dezessetes", o que gerava números totalmente fora do esperado. Outro ponto que vale registrar: quando você usa esses números em formulários ou campos de input, especialmente em HTML, o atributo pattern precisa ser configurado com cuidado. Uma expressão regular mal construída como /^[6]\d$/ pode parecer suficiente, mas não lida bem com campos que aceitam números negativos ou com casas decimais. Se o seu contexto inclui valores como -63 ou 60.5, essa regex vai rejeitar sem motivo. O mais seguro é delimitar claramente se o intervalo desejado é só [60, 69] ou se há exceções permitidas.

Há ainda a questão do zero à esquerda que comentei antes. Números como 60, 61, 62 parecem óbvios, mas quando são exportados para planilhas ou arquivos CSV sem formatação adequada, o Excel e ferramentas similares tendem a tratar a sequência "06" como 6, eliminando o dígito das dezenas. Isso quebra qualquer regra que dependa da posição do algarismo. A workaround que eu uso é forçar a coluna como texto no momento da exportação, usando uma vírgula simples na frente do valor ou definindo o formato da célula como texto antes de colar os dados. Se você precisa apenas de um número único que obedeça a essa condição, basta sortear entre 60 e 69. Se precisa de uma lista validada, recomendo criar uma verificação pós-geração que chegue explicitamente a propriedade das dezenas — dividir por 10 e pegar o resto da divisão inteira — em vez de confiar apenas na representação em string. Isso evita armadilhas de formatação que aparecem principalmente quando os dados passam por múltiplos sistemas ou formatos de arquivo.

Não existe receita perfeita pra isso. Depende do que você está construindo. Mas pelo menos saber onde os problemas costumam aparecer ajuda a não perder tempo corrigindo eles depois.