Números por extenso

Números inteiros escritos por extenso em português.

  • Matriz de paridade

Escrever por extenso

Escreve um inteiro por extenso em português, como número cardinal. Por exemplo, 1235 é "mil duzentos e trinta e cinco".

  • Aceita inteiros de -999 999 999 999 999 a 999 999 999 999 999. A função trunca um não inteiro em direção a zero e coloca "menos" antes de um número negativo.
  • options.gender ("masculine" por padrão, ou "feminine") faz "um/uma", "dois/duas" e as centenas ("duzentos/duzentas") concordarem com o substantivo que o número qualifica.
  • O último grupo leva um "e" antes dele só quando é menor que 100 ou uma centena redonda: 1200 é "mil e duzentos" e 1100 é "mil e cem", enquanto 1235 é "mil duzentos e trinta e cinco" e 1101 é "mil cento e um".
  • Retorna uma string vazia para um valor fora desse intervalo, não finito ou que não é número.
  • Zero é "zero", e também qualquer valor que trunca para 0 (-0.5, nunca "menos zero"). O resultado é sempre em minúsculas.
  • Com "feminine", só o grupo dos milhares e o último grupo mudam (2000 é "duas mil", 21 é "vinte e uma"). O multiplicador de "milhão", "bilhão" e "trilhão" continua no masculino (2 000 000 é "dois milhões").
ParâmetroTipoObrigatório
valuenumbersim
optionsConvertNumberToWordsOptionsnão
options.genderNumberToWordsGendernão
retornastring

Escreve um número inteiro por extenso em português do Brasil: 1235 vira "mil duzentos e trinta e cinco".

  • Opções (ConvertNumberToWordsOptions): gender (padrão "masculine") concorda "um/dois" e a centena ("duzentos/duzentas") com o substantivo que o número qualifica.
  • Aceita inteiros de -999999999999999 a 999999999999999 (999 trilhões). Um valor não inteiro é truncado em direção a zero.
  • Retorna "" para um valor fora desse intervalo ou não finito.
  • O último grupo leva um "e" antes dele só quando é menor que 100 ou uma centena redonda: 1200 é "mil e duzentos" e 1100 é "mil e cem", já 1235 é "mil duzentos e trinta e cinco" e 1101 é "mil cento e um".
import { convertNumberToWords } from '@brazilian-utils/brazilian-utils';

convertNumberToWords(123); // "cento e vinte e três"
convertNumberToWords(1001); // "mil e um"
convertNumberToWords(2000000); // "dois milhões"
convertNumberToWords(-42); // "menos quarenta e dois"
convertNumberToWords(2, { gender: 'feminine' }); // "duas"
convertNumberToWords(12.9); // "doze" (truncado em direção a zero)
convertNumberToWords(NaN); // ""
Código: brazilian-utils/javascript
Teste com JavaScript convertNumberToWords
As entradas começam com o primeiro caso compartilhado. Mude uma para ver o novo resultado.

Roda @brazilian-utils/brazilian-utils 2.5.0 no seu navegador.

Casos de teste compartilhados (25) e o resultado em cada biblioteca number.convertToWords

Fontes oficiais

Ainda não há fonte oficial listada.

Veja também Moeda (real)

Atualizado em

Nesta página