No português brasileiro, um número redondo de milhar ganha um "e" que o português europeu costuma dispensar: "mil e duzentos" versus "mil duzentos" — uma pequena diferença de conjunção que separa as duas variantes do idioma na hora de escrever por extenso.
O "e" que aparece — ou não
Entre as centenas e o resto do número, o português normalmente usa "e" ("cento e vinte"), mas o comportamento entre milhares e centenas varia por variante e por estilo: "mil e duzentos reais" soa natural no Brasil, enquanto formas mais compactas sem o "e" também circulam em Portugal. Um conversor por extenso confiável precisa decidir esse detalhe de forma consistente, porque ambas as formas são compreendidas, mas soam "de outro lugar" para o ouvido de quem não está acostumado.
Por que o algoritmo é mais complicado do que parece
Os numerais concordam em gênero com o substantivo a que se referem: "um real", mas "uma libra"; "duzentos reais", mas "duzentas páginas". Essa concordância se propaga por todo o número — em "duzentas mil reais", é "duzentas" (referindo-se a "mil", tratado no feminino em certas construções) que precisa concordar corretamente, não apenas o último grupo.
Números grandes e grupos de casas
Os números costumam ser divididos em grupos de três dígitos (milhares, milhões, bilhões), e cada grupo é processado com regras semelhantes, mas com sua própria palavra de sufixo ("mil", "milhão/milhões", "bilhão/bilhões") — essa concordância também depende do número do grupo.
Para que serve isso
- Gerar automaticamente um valor por extenso para faturas, contratos ou cheques.
- Verificar a concordância correta ao escrever seu próprio conversor.
- Obter rapidamente a representação textual de um número sem digitá-la manualmente.
O cheque e o valor por extenso como proteção
Em cheques e notas promissórias, escrever o valor por extenso ao lado dos algarismos não é formalidade vazia: se houver divergência entre os dois, a prática bancária costuma dar prioridade ao texto por extenso, justamente porque é muito mais difícil de adulterar sem deixar rastro do que um simples dígito.