Formatador de números

Formate números com vírgulas, abreviações, símbolos de moeda e decimais personalizadas.

Como funciona

  1. Insira seu número : digite ou cole um valor numérico, inteiros, decimais, números grandes ou notação científica.
  2. Escolha as opções de formato : selecione sua localidade (US, EU etc.), o número de decimais, o separador de agrupamento e o símbolo de moeda, se necessário.
  3. Copie o resultado formatado : o número é exibido no formato escolhido instantaneamente. Copie-o para uso em relatórios, documentos ou exportações.

Por que usar o formatador de números ?

Os números significam coisas diferentes conforme as localidades. Os Estados Unidos escrevem mil como 1,000.00 enquanto muitos países europeus o escrevem como 1.000,00. Copiar números brutos entre sistemas causa erros de análise, leituras incorretas e erros financeiros. O formatador de números garante que seus números sejam exibidos corretamente para qualquer público, preparação de relatórios financeiros, localização de conteúdo ou limpeza de dados para apresentação.

Funcionalidades

Perguntas frequentes

Qual a diferença entre o formato numérico US e o europeu ?

Nos Estados Unidos, o separador decimal é um ponto (.) e o separador de milhares é uma vírgula (,), por ex. 1,234.56. Na maior parte da Europa é o inverso : 1.234,56. Esta ferramenta converte corretamente entre os dois formatos.

Posso formatar números para moedas ?

Sim. Ative o modo monetário e escolha um símbolo (R$ $ € £ ¥ etc.) para colocá-lo antes do número formatado. Para formatos contábeis com convenções de números negativos, ative o modo contábil.

Ele lida com números muito grandes ou muito pequenos ?

Sim. O formatador lida com números de vários dígitos e pode exibi-los em notação padrão, agrupada ou científica. A precisão em ponto flutuante é aplicada conforme os decimais configurados.

De onde vêm os padrões de formatação de números

Os formatos numéricos que você vê em software hoje são definidos por uma pequena pilha de padrões que demorou trinta anos para se consolidar. IEEE 754 (1985), revisada em 2008 e 2019, fixou o layout binário dos números de ponto flutuante: 64 bits divididos em 1 sinal, 11 expoente, 52 mantissa, que é o que cada número JavaScript é por baixo dos panos. ISO 4217 (1978, edição atual 2015) definiu os códigos de moeda de três letras, USD, EUR, JPY, INR, BRL, e quantas unidades menores cada um tem (2 para USD, 0 para JPY, 3 para KWD, 4 para CLF). O Unicode CLDR (Common Locale Data Repository), lançado pela primeira vez em 2003, é o conjunto de dados aberto que registra separadores de grupo, separadores decimais, símbolos de moeda e regras de plural para cada locale; a versão atual é CLDR 46 (outubro de 2024). ECMA-402 (2012), a API de Internacionalização do ECMAScript, deu ao JavaScript uma ligação nativa para esses dados via Intl.NumberFormat, que é apoiado pelo ICU (International Components for Unicode) em V8, JavaScriptCore e SpiderMonkey. Juntas essas quatro specs fazem com que (1234567).toLocaleString('de-DE') retorne 1.234.567 em vez de 1,234,567.

Os seis padrões de locale que você encontrará

A maioria dos formatos numéricos na natureza se enquadra em seis padrões. Memorizar esses seis cobre ~95% da base de usuários de qualquer produto global.

Modos de arredondamento, o que realmente fazem

ECMA-402 (2023) adicionou nove modos de arredondamento ao Intl.NumberFormat. A escolha muda totais financeiros, relatórios científicos e cálculos fiscais. Três importam mais na prática.

Onde esta ferramenta ganha seu sustento

Erros que mordem até desenvolvedores experientes

Mais perguntas frequentes

Por que 0,1 + 0,2 não é igual a 0,3?

Porque os floats binários IEEE 754 não podem armazenar a fração decimal 0,1 exatamente, da mesma forma que a base 10 não pode armazenar 1/3 exatamente. O double de 64 bits mais próximo de 0,1 é aproximadamente 0,1000000000000000055511151231257827021181583404541015625. Somar duas dessas aproximações produz um resultado que arredonda para 0,30000000000000004 em vez de 0,3. Toda linguagem IEEE 754 tem esse comportamento: Java, Python, C++, Swift, todas. Para aritmética decimal exata, use centavos inteiros ou uma biblioteca como decimal.js / Decimal do Python / BigDecimal do Java.

Qual é a diferença entre Intl.NumberFormat e toLocaleString?

Mesmo motor, ergonomia diferente. (1234.5).toLocaleString('de-DE', {style: 'currency', currency: 'EUR'}) e new Intl.NumberFormat('de-DE', {style: 'currency', currency: 'EUR'}).format(1234.5) produzem saída idêntica. A diferença: Intl.NumberFormat é reutilizável, então se você formatar muitos números com as mesmas opções, instancie uma vez e cacheie. toLocaleString lê as opções do construtor a cada chamada e é dramaticamente mais lento em loops apertados.

Como funciona o sistema de numeração indiano?

O inglês indiano e o hindi agrupam dígitos em padrão 2-2-3 em vez de 3-3-3: os três dígitos mais à direita, depois grupos de dois. 100.000 é escrito 1,00,000 e chamado um lakh (10⁵). 10.000.000 é escrito 1,00,00,000 e chamado um crore (10⁷). Intl.NumberFormat('en-IN').format(12345678) retorna 1,23,45,678. O sistema se estende para arab (10⁹) e kharab (10¹¹) embora sejam raros no uso moderno.

Quão grande um número esta ferramenta pode manejar?

Até Number.MAX_SAFE_INTEGER = 2⁵³ − 1 = 9.007.199.254.740.991, qualquer inteiro sobrevive a uma viagem de ida e volta exatamente. Além disso, a precisão começa a vazar. JSON.parse("9007199254740993") retorna 9007199254740992, o double representável mais próximo. Para valores maiores, cole-os como literais BigInt (com um n no final) ou trate-os como strings. O formatador aceita ambos.

Meu número é enviado a algum lugar?

Não. Intl.NumberFormat e os dados de locale vêm com seu navegador; todo o pipeline executa localmente. Abra a aba Rede no DevTools e formate um número, você verá zero requisições de saída. Seguro para salários, receita, saldos de conta, ou qualquer dado que você não colaria em um serviço hospedado.

Ferramentas relacionadas

Conversor de base numérica Calculadora de porcentagem Calculadora científica gratuita Calculadora de juros compostos