Adicionar separadores de milhar
1234567.89 fica 1,234,567.89 no estilo americano com duas casas, enquanto o estilo europeu escreve 1.234.000. Você escolhe o estilo e as casas decimais, então o resultado não depende das configurações do seu computador. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Valor
- 1.234.567,89
- Par de separadores por locale: us
- Us
- Casas decimais
- 2
- Separador de grupo
- ,
- Marca decimal
- .
- Rótulo do estilo
- US / UK (comma group, period decimal)
- Decimais usados
- 2
Adicionar separadores de milhar transforma um número bruto de máquina em uma string que as pessoas conseguem ler sem contar dígitos. Informe um valor finito, escolha um estilo de locale para o caractere de agrupamento e a marca decimal, opcionalmente fixe quantas casas decimais mostrar, e a ferramenta devolve uma string formatada determinística: um milhão duzentos e trinta e quatro mil como 1,234,000 no estilo US, 1.234.000 no estilo europeu, ou formas com espaço SI e francês. Exportações de planilhas, prévias de faturas, rótulos de painéis e amostras de documentação precisam da mesma exibição agrupada sem depender do locale do SO host ou de pacotes de dados Intl.
O que significam separadores de milhar e marcas decimais em strings de exibição
Um separador de milhar é um caractere de agrupamento inserido a cada três dígitos da parte inteira para que magnitudes grandes permaneçam legíveis: um milhão vira um-vírgula-zero-zero-zero-vírgula-zero-zero-zero no estilo dos Estados Unidos em vez de uma sequência nua de sete dígitos. A marca decimal é o caractere que separa a parte inteira da fracionária; locales de língua inglesa costumam usar um ponto, enquanto grande parte da Europa continental usa uma vírgula.
Essas duas escolhas são independentes do valor numérico em si: o número mil duzentos e trinta e quatro com cinquenta e seis centésimos é a mesma quantidade quer você escreva 1,234.56 ou 1.234,56 ou 1 234,56. Confundir as duas marcas é um desastre clássico de planilhas e CSV — importar faturas europeias em uma ferramenta americana pode eliminar silenciosamente centavos fracionários ou multiplicar valores por mil.
Portanto, esta capacidade não tenta adivinhar o que uma string mista significa; só aceita um número finito simples (ou uma string numérica estrita sem agrupamento) e emite uma forma de exibição sob um estilo explícito. O estilo US combina agrupamento por vírgula com decimal de ponto; o EU os troca; o francês usa agrupamento por espaço com decimal de vírgula; o suíço usa agrupamento por apóstrofo com decimal de ponto; o estilo tipo SI usa agrupamento por espaço com decimal de ponto.
Decimais fixos preenchem ou arredondam a parte fracionária para que valores tipo dinheiro sempre mostrem dois dígitos, enquanto o modo auto remove zeros finais para inteiros mais limpos e frações curtas.
Dicas práticas, limites e buscas relacionadas
Remova caracteres de agrupamento e símbolos de moeda no cliente antes de chamar se a fonte for um colar localizado; esta ferramenta formata números nulos e rejeitará 1,234.56 como não numérico de propósito para nunca reagrupar nem ler mal uma vírgula decimal europeia. Prefira decimais fixos iguais a dois para exibições tipo moeda e o modo auto para contagens inteiras e magnitudes científicas em que zeros finais pareceriam artificiais. Valores negativos mantêm um menos inicial antes da parte inteira agrupada em todos os estilos.
Esta página atende quem busca adicionar separadores de milhar, formatar número com vírgulas, separador de milhar online ou conversão de marca decimal para exibição; não é um formatador completo de locale e moeda com símbolos ISO-4217, nem um agrupador indiano lakh/crore, nem um detector de dialeto CSV. Prefira esta capacidade quando você já tem um valor numérico e só precisa de uma string agrupada legível; se precisar de códigos de moeda, estilos de porcentagem ou resolução de locale BCP-47, use um formatador de números de locale mais amplo.
Casos de uso
Totais legíveis em faturas e recibos
Formate totais de pedido e linhas de imposto com agrupamento US ou EU para que PDFs impressos e recibos por e-mail fiquem fáceis de ler sem alterar o valor numérico armazenado.
Rótulos de painéis e relatórios
Transforme métricas brutas de APIs em strings agrupadas por espaço SI ou francesas para gráficos, exportações CSV e tabelas administrativas que misturam públicos de vários locales.
Perguntas frequentes
O que faz adicionar separadores de milhar?
Insere um caractere de agrupamento a cada três dígitos da parte inteira e usa uma marca decimal escolhida para a parte fracionária, transformando 1234567.89 em formas como 1,234,567.89 ou 1.234.567,89.
Quais estilos são suportados?
us (agrupamento por vírgula, decimal de ponto), eu (agrupamento por ponto, decimal de vírgula), fr (agrupamento por espaço, decimal de vírgula), ch (agrupamento por apóstrofo, decimal de ponto) e si (agrupamento por espaço, decimal de ponto). O padrão é us.
Posso colar um número que já tem vírgulas?
Não. A entrada deve ser um número finito simples ou string numérica sem agrupamento. Valores já localizados são rejeitados como não numéricos para a ferramenta nunca reagrupar nem ler mal vírgulas decimais.
Como funcionam os decimais fixos?
Defina decimals como um inteiro de 0 a 20 para arredondar e preencher a parte fracionária. Omita decimals para o modo auto, que remove zeros finais e mantém dígitos fracionários significativos.
O formatador de separadores de milhar é grátis?
A ferramenta do navegador é grátis e roda localmente.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/fmt/thousands-separator \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":1234567.89}'const res = await fetch("https://api.kit.forhosting.com/fmt/thousands-separator", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": 1234567.89
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fmt/thousands-separator",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": 1234567.89
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fmt/thousands-separator", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":1234567.89}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":1234567.89}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fmt/thousands-separator", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"value": 1234567.89
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fmt.thousands_separator",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_abs | 1000000000000 |
max_decimals | 20 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Tokens não numéricos, campos vazios e lixo já localizado geram um erro invalid_input claro em vez de um parse silencioso errado.
Como chamar a API e o que retorna
Envie um corpo JSON com o campo obrigatório value (aliases n, number, input, amount e x). O valor pode ser um número JSON ou uma string numérica simples sem caracteres de agrupamento; notação científica é aceita quando corresponde a um padrão finito estrito. O style opcional seleciona o par de separadores e o padrão é us; as chaves aceitas são us, eu, fr, ch e si, com aliases comuns como en, de e swiss resolvidos para essas chaves. decimals opcional é um inteiro de zero a vinte que fixa a largura fracionária após o arredondamento; omita para manter dígitos fracionários automáticos com zeros finais removidos. A magnitude absoluta deve permanecer dentro de um trilhão para que as strings de dígitos fiquem finitas e práticas no Worker e no navegador. Em caso de sucesso, a resposta ecoa value, define style como a chave resolvida, group_separator e decimal_mark como os caracteres realmente usados, style_label como uma descrição curta em inglês, decimals como as casas fixas ou null para auto, used_decimals como quantos dígitos fracionários aparecem, formatted como a string de exibição final, message como um resumo de uma linha e steps como uma auditoria ordenada de escolha de estilo, agrupamento e resultado. Validação falha — value ausente, tokens não numéricos, booleanos ou objetos, números não finitos, magnitudes fora do limite absoluto ou style desconhecido — retorna invalid_input e nunca é cobrada. O preço é um US$ 0,002 fixo por solicitação bem-sucedida com unidade item e preço unitário marginal zero.
Dicas práticas, limites e buscas relacionadas
Ao ensinar ou documentar, combine exemplos: um dois três quatro cinco seis sete ponto oito nove com estilo US resulta em 1,234,567.89; o mesmo valor com estilo EU resulta em 1.234.567,89; mil com estilo francês resulta em 1 000; e uma string de letras como not-a-number demonstra o caminho duro invalid_input. Tarefas falhas que retornam invalid_input não consomem saldo pré-pago, o que mantém scripts exploratórios baratos quando os chamadores enviam lixo de propósito. Checagens de ida e volta são fáceis: confirme que a string formatted retornada corresponde aos caracteres de agrupamento e decimal esperados para o estilo escolhido, que used_decimals corresponde a decimals fixos quando fornecidos, e que substituir o número por uma string não numérica muda a resposta para invalid_input com uma mensagem que menciona entrada não numérica.
Casos de integração
Docs, testes e fixtures de captura
Gere strings de exibição esperadas estáveis para testes unitários e capturas de marketing sem depender do locale do SO da máquina do desenvolvedor.