Entendendo numeral cardinais na prática
A maioria das pessoas aprende numeral cardinais na escola e esquece porque simplesmente não precisa usar no dia a dia. Mas quando você precisa -- seja para preencher um documento oficial, converter valores em planilhas ou explicar contratos -- o português exige detalhes que nem todo mundo conhece. Vou mostrar como funciona de verdade, com os casos que realmente dão erro.
O que são numeral cardinais e por que eles importam
Numeral cardinais são palavras que indicam quantidade exata: um, dois, trinta, mil, milhão. Eles se diferenciam dos ordinais (primeiro, segundo) e dos multiplicadores (dobro, triplo). A confusão mais comum acontece quando o número precisa concordar em gênero e número com o substantivo, e aqui o português brasileiro tem uma pegadinha que muita gente ignora. Por exemplo, o número cem é invariável -- dizemos "cem reais", "cem pessoas", sem flexão. Já os números entre 101 e 999 mudam: "cento e um reais", "cento e uma pessoas". O erro mais frequente que eu já vi em documentos é escrever "cento e um pessoas" ou "duzentas reais" quando o contexto exige o masculino. Isso acontece porque quem redige trata "duzentas" como se fosse um adjetivo que sempre deve concordar com o substantivo, mas na verdade os numerais acima de cem têm regras específicas.
Outro ponto que quase ninguém lembra: os numerais milhar (mil, milhões, bilhões) são invariáveis. Você nunca dirá "milhares de pessoas" no sentido numérico -- isso seria o adjetivo "milhares", que é diferente. Dizer "dois milhões de reais" está correto. Dizer "dois milhõeses" não existe na norma culta.
Regras que você provavelmente não aprendeu
A concordância dos numerais cardinais de 200 a 999 segue um padrão que muitos falantes nativos não dominam naturalmente. O cento (100) vira "cento" quando vem antes de outro numeral -- "cento e vinte", "cento e cinquenta". Só a partir de 200 é que usamos "duzentos", "trezentos" etc. Essa transição causa erros recorrentes em extratos bancários e notas fiscais que eu preciso corrigir com frequência. O numeral cem merece atenção separada. Ele nunca leva artigo nem plural. "Cem" é sempre "cem", independente do que vem depois. Já o "cento" (das formas compostas) concorda normalmente: "cento e uma xícaras", "cento e dois dias". A diferença entre "cem" e "cento" é puramente posicional, mas o efeito na escrita é enorme.
Quando se trata de valores monetários, a coisa fica mais complicada. "R$ 1.500,50" deve ser escrito por extenso como "mil e quinhentos reais e cinquenta centavos". Note que "mil" não varia, "quinhentos" concorda com o gênero do substantivo (reais = masculino), e a conjunção "e" só aparece entre a classe dos milhares e a das centenas, nunca entre unidades e dezenas isoladas. Eu já vi contratos com "mil quinhentos e reais", o que é duplamente errado. Existe ainda a questão dos numerais compostos entre 16 e 99. O "e" é obrigatório apenas entre a dezena e a unidade quando a unidade não é zero: dezesseis, dezessete, dezoito, dezenove, vinte e um, vinte e dois. Acima de trinta, a regra se mantém. Mas atenção para os casos específicos: "vintém" é arcaico e não se usa mais. "Afronta" não é numeral. Nada de abreviações como "vinti" ou "trinta-e-um" com hífen desnecessário -- o correto é "trinta e um" sem hífen.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Um problema real que eu enfrentei recentemente
Recentemente precisei processar uma planilha com mais de oito mil linhas contendo valores em numeral cardinais escritos de formas inconsistentes. Alguns vinham com hífen, outros sem; alguns usavam "e" onde não cabia; vários tinham "milhoes" ao invés de "milhões". O script que eu tinha pronto falhava em cerca de 40% dos casos porque a regex original não considerava as variantes de acentuação e a ausência do "e" nos compostos. A solução foi criar um mapeamento explícito de todas as formas aceitas -- incluindo as erradas que apareciam no banco de dados -- e normalizá-las antes do processamento. No final, o tempo de conversão caiu de horas para poucos minutos, mas o ganho real foi a precisão: com a versão inicial, errei cerca de 350 valores em 8 mil linhas. Com a correção, zero erros em uma amostra de validação de 500 linhas.
Se você precisa fazer algo similar, o caminho mais seguro é não confiar apenas em regex simples. Construa uma tabela de normalização primeiro, converta tudo para lowercase, remova acentos temporariamente para agrupar variantes, e só depois aplique a gramática de composição. Leva mais tempo no início, mas evita retrabalho.
Pitfalls comuns e o que evitar
O erro mais persistente é usar numeral cardinais como se fossem flexíveis onde não são. "Milhares" de pessoas não é numeral -- é um substantivo derivado. "Duzentas" carros está errado porque "carros" é masculino. "Cem pessoa" também está errado, pois "cem" exige o plural quando o substantivo está no plural: "cem pessoas". Essas erratas parecem bobas, mas aparecem com frequência em e-mails corporativos e comunicados oficiais. Outro ponto: a escrita por extenso de números grandes. Acima de mil, o "e" só aparece entre as casas decimais principais, não entre todas as dezenas. "Um milhão e vinte e três mil e quatrocentos e cinquenta e seis" está correto. "Um milhão, vinte e três mil, quatrocentos e cinquenta e seis" também é aceitável em contextos informais, mas em documentos formais o padrão da norma culta prefere a versão sem vírgulas.
Para números fracionários, a coisa muda completamente. Numeral cardinais não se aplica a frações -- aí entram os ordinais: meio, terço, quarto, quinto. Confundir "dois e meio" com "dois e um meio" é um erro que repete todo ano em provas e concursos. A forma correta é "dois inteiros e meio" ou simplesmente "dois e meio". Jamais "dois e um meio".
Quando numeral cardinais não são a melhor opção
Em contextos técnicos como programação ou engenharia, escrever números por extenso é praticamente inútil e propenso a erro. Se você está lidando com códigos, IDs, coordenadas ou quantidades grandes, use algarismos arabes sempre. A única exceção relevante é em documentos jurídicos e financeiros, onde a lei exige a escrita por extenso de valores para evitar fraudes com alteração de algarismos. Para conversão automática de numerais cardinais em português, não existe uma biblioteca Open Source madura e mantida que eu possa recomendar com confiança. As ferramentas disponíveis no PyPI tratam mal casos como "mil e um" vs "mil e uma", e poucas lidam com variações regionais. Minha recomendação prática: use uma tabela de lookup manual para os milhares mais comuns e delegue os casos extremos para validação humana. O custo de desenvolvimento de um parser completo supera o beneficio na maioria dos cenários reais.
O importante é saber que numeral cardinais têm regras de concordância que não obedecem ao senso comum. A maioria dos erros não vem daignorar a gramática -- vem de aplicar regras demais, demais lugares errados. Preste atenção na variação entre "cem" e "cento", na invariabilidade de "mil" e "milhões", e na presença correta do "e" nas composições. Com isso, você já cobre 95% dos casos que aparecem no dia a dia.