FreeToGenerate.com

100% grátis · sem registo · nada é enviado

Tudo acontece no teu navegador — o número nunca sai do teu computador.

Também disponível em: English · Español · Français · العربية

Números por extenso

Escreve ou cola um número e recebe a forma por extenso em português, inglês, espanhol, francês ou árabe, atualizada a cada tecla.

O que faz um conversor de números por extenso?

Um conversor de números por extenso pega num número escrito em algarismos — 1234, 90 ou 15000000 — e devolve a forma que se lê em voz alta e se escreve por extenso num cheque, numa fatura ou num contrato: mil duzentos e trinta e quatro, noventa, quinze milhões. Aqui essa conversão acontece à medida que escreves, sem precisar de carregar em nenhum botão, e o mesmo número pode sair em português, inglês, espanhol, francês ou árabe consoante o idioma escolhido na lista — a língua em que estás a navegar a página não tem influência nenhuma sobre isso.

Como se usa

  1. Escreve o número. Introduz ou cola o número no campo — aceita pontos, vírgulas ou espaços como separador de milhares, e também números negativos.
  2. Escolhe o idioma. Seleciona português, inglês, espanhol, francês ou árabe na lista; com o inglês selecionado aparece o interruptor «and», para trocar entre o estilo americano e o britânico.
  3. Copia o resultado. O texto por extenso aparece de imediato por baixo, com um botão de copiar à mão; usa também os botões de limpar ou de exemplo quando precisares.

A secção honesta

Escrever números por extenso não é uma função que já venha pronta no navegador. O Intl.NumberFormat do JavaScript formata milhares e decimais, mas não escreve nada por extenso — essas regras existem num sistema à parte do Unicode, o RBNF, que nenhum navegador expõe através de uma API pública. Por isso cada idioma desta ferramenta foi construído a partir da sua própria gramática dos números, e não como uma lista de palavras traduzida de uma língua para outra.

A parte difícil muda de língua para língua. Em português o «e» segue uma regra própria: liga as centenas às dezenas e as dezenas às unidades, mas só liga o último grupo quando esse grupo é menor que cem ou é uma centena redonda — daí «mil e um» e «mil e setecentos», mas «mil duzentos e trinta e quatro», sem «e» a mais. O espanhol exige a apócope: «uno» passa a «un» antes de uma palavra de escala, por isso 21 000 é «veintiún mil», com acento, e nunca «veintiuno mil»; usa também a escala longa, em que «mil millones» é 10⁹ e «un billón» é 10¹². O francês tem o conhecido 70/80/90 — soixante-dix, quatre-vingts, quatre-vingt-dix —, o «et» que aparece em vingt et un mas não em quatre-vingt-un, e o -s de vingt e cent que só se mantém quando nada os segue: «quatre-vingts» mas «quatre-vingt-un», «deux cents millions» mas «deux cent mille», porque mille é numeral e million é substantivo. E o árabe usa formas duais em vez de «duzentos» (مئتان, ألفان), um plural para o intervalo 3 a 10 (ثلاثة آلاف) e uma forma singular especial do 11 ao 99 — decidida pela última parte do número, por isso 553 mil se comporta como 53 e não como 500.

A forma de verificar isto a sério foi escrever 90 asserções à mão com os casos mais traiçoeiros de cada língua e depois comparar os resultados com a biblioteca n2words sobre 5001 valores. Inglês e francês bateram certo, 5001 em 5001. Português, espanhol e árabe divergiram — e cada divergência foi seguida até encontrar um defeito da biblioteca, não desta ferramenta: a n2words come os acentos da RAE (escreve «dieciseis» em vez de «dieciséis»), falha a apócope espanhola, acrescenta um «um» a mais em «um mil milhões» e aplica a forma árabe do 11 ao 99 de forma inconsistente. A biblioteca serviu só de comparação e foi depois removida — não fica como dependência do site.

Há limites que vale a pena dizer com clareza. A ferramenta só converte números inteiros — nada de casas decimais nem de fórmulas de cheque. O português que sai é o de Portugal (dezasseis, mil milhões), e não o do Brasil, que diria dezesseis e um bilhão — a diferença é real e não um detalhe. O espanhol usa a escala longa, o árabe mostra formas de citação isoladas porque numa frase real o número concordaria com o substantivo que está a contar, e não há ordinais: não sai «vigésimo primeiro». O máximo aceite é 999 999 999 999 999, mesmo abaixo de 10¹⁵, e por trás disso está BigInt, para que um número grande não perca precisão como aconteceria com os números normais do JavaScript.

Porque é gratuito?

Esta página não tem custos de servidor: é estática, corre inteiramente no navegador e o número nunca sai do computador de quem a usa. Não há conta para criar, não há ficheiros para carregar e não fica marca de água nenhuma no resultado — copias o texto e usas onde precisares.