Centralizar string
Centralize um texto dentro de um campo de comprimento fixo: hi centralizado em 8 caracteres com asteriscos vira ***hi***, três de cada lado. Se a divisão não for exata, o caractere que sobra vai para a direita. 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
- Texto
- hi
- Comprimento
- 8
- Caractere
- *
- Resultado
- ***hi***
- Comprimento original
- 2
- Comprimento do resultado
- 8
- Quantidade de preenchimento
- 6
Centralizar uma string significa estendê-la até um comprimento fixo de caracteres inserindo um caractere de preenchimento escolhido de forma uniforme nos dois lados, de modo que o texto original fique no meio do campo. Esta ferramenta de preenchimento central recebe o texto que você informa, um comprimento alvo inteiro não negativo e um caractere de preenchimento opcional de um único caractere (padrão espaço), e devolve o resultado centralizado mais as contagens de preenchimento à esquerda e à direita. Usos clássicos incluem centralizar títulos em banners monoespaçados e cabeçalhos CLI, equilibrar rótulos em recibos de largura fixa ou linhas de impressora térmica, e montar linhas separadoras decorativas com uma palavra curta no centro. Quando o comprimento solicitado é menor que o do texto, a requisição falha com um erro de validação claro em vez de truncar em silêncio, para que os clientes não percam dados por acidente.
Como funciona o preenchimento central
O motor mede o comprimento do texto de entrada em unidades de string JavaScript e calcula quantas unidades de preenchimento ainda faltam para atingir o comprimento alvo. Quando há mais comprimento disponível, o caractere de preenchimento—exatamente um ponto de código Unicode, padrão espaço—é repetido para montar o segmento que falta. O preenchimento central sempre divide o orçamento com o piso da necessidade sobre dois à esquerda e o resto à direita, o que mantém caracteres de resto ímpar à direita e produz um layout centralizado estável e determinístico.
Texto vazio é permitido para gerar strings de preenchimento puras de um comprimento dado como separadores. Prefira esta página quando a intenção de busca for centralizar ou alinhar ao centro um texto em um campo fixo, e não escolher preenchimento só à esquerda ou só à direita.
Onde o preenchimento central aparece no trabalho real
Equipes de produto e crescimento centralizam títulos curtos em banners de largura fixa, cabeçalhos de e-mail em texto puro e prévias monoespaçadas no app em que o alinhamento é visual mais do que semântico. Engenheiros de backend montam cabeçalhos CLI decorativos e divisores de seção em logs com um rótulo centrado entre caracteres de preenchimento como sinais de igual ou traços. Pilhas de varejo e operações formatam linhas de recibo térmico e canhotos de ticket para que nomes de loja e totais fiquem centrados em uma largura de coluna fixa.
Notebooks de dados e analytics centralizam rótulos de eixo curtos ou legendas de tabela antes de despejar tabelas de console monoespaçadas. Prefira esta página quando a intenção de busca for preencher string no centro, centralizar texto em campo de largura fixa ou preencher os dois lados de um rótulo curto; se precisar de left pad, right pad, base64, hashing ou conversão de maiúsculas, use as ferramentas dedicadas em vez de esticar esta capacidade além do contrato.
Casos de uso
Centralizar títulos em banners monoespaçados
Preencha os dois lados com espaços, asteriscos ou traços para que rótulos curtos fiquem centrados em logs de largura fixa, cabeçalhos CLI e banners em texto puro.
Linhas de recibos e tickets
Centralize nomes de loja e títulos de seção em impressoras térmicas ou layouts POS que exigem contagem exata de colunas de caracteres.
Perguntas frequentes
O que acontece se o comprimento for menor que o texto?
Esta ferramenta nunca trunca; o comprimento alvo deve ser maior ou igual ao comprimento do texto.
Como um orçamento de preenchimento ímpar é dividido?
A esquerda recebe floor(need/2) caracteres de preenchimento e a direita o resto, de modo que sobras ímpares sempre caem à direita para um centro estável.
Quais caracteres de preenchimento são permitidos?
O padrão é um espaço. Escolhas comuns são *, -, = ou 0 para banners e códigos visuais.
Texto vazio é permitido?
Sim. Texto vazio com comprimento positivo devolve uma string de preenchimento pura desse comprimento, útil para gerar linhas separadoras.
Onde o preenchimento centralizado é útil?
Em linhas de cupom e impressoras térmicas, para centralizar o nome da loja, em cabeçalhos de terminal e em linhas divisórias com uma palavra curta no meio, cercada por sinais de igual ou traços.
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/str/pad-center \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"hi","length":8}'const res = await fetch("https://api.kit.forhosting.com/str/pad-center", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "hi",
"length": 8
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/pad-center",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "hi",
"length": 8
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/pad-center", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"hi","length":8}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"hi","length":8}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/pad-center", 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
{
"text": "hi",
"length": 8
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.pad_center",
"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.
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
Sem idas à rede dentro do motor, sem sementes aleatórias e sem dependência de relógio: texto, comprimento e caractere idênticos sempre produzem o mesmo JSON.
Como funciona o preenchimento central
Se o comprimento for estritamente menor que o do texto, a validação falha com invalid_input e nenhum resultado é devolvido, porque um truncamento silencioso destruiria dados do usuário. Quando o comprimento é igual ao do texto, a string original é devolvida sem alteração com pad_count zero. Cargas extremamente longas acima do limite de caracteres documentado, ou um comprimento acima do máximo documentado, também falham com invalid_input para que uma única requisição não monopolize a memória do Worker.
O que você envia e o que recebe de volta
Envie os campos obrigatórios text e length. Números e booleanos em text são convertidos para strings decimais ou true/false; objetos, arrays, NaN e Infinity são rejeitados. Use o formulário gratuito do navegador para colar e copiar com rapidez, depois chame o contrato idêntico a partir de scripts ao centralizar rótulos em registros de largura fixa, logs monoespaçados ou layouts de recibo. Se o seu pipeline precisar de preenchimento só à esquerda ou só à direita, use a ferramenta geral de preencher texto em vez de sobrecarregar esta página só de centro. Text é a string a centralizar; aliases como input, value, data, s, message, string, content e body são aceitos para clientes antigos. Length é a contagem total de caracteres alvo, inteiro não negativo; os aliases width, target, size e n funcionam quando length é omitido. O char opcional (aliases pad_char, fill, pad, padding) é um único caractere; omita-o para preencher com espaços. Em caso de sucesso a resposta ecoa text, length e char, mais result, original_length, result_length da string preenchida, pad_count, pad_left, pad_right e operation definido como pad_center. Checagens clássicas incluem text hi com length oito e char asterisco resultando em três asteriscos, hi, três asteriscos; hello com length onze e espaço padrão resultando em três espaços, hello, três espaços; e ab com length cinco e asterisco produzindo um asterisco, ab, dois asteriscos porque o resto fica à direita. O preço das chamadas API bem-sucedidas é a base publicada de US$ 0,002 por item; falhas de validação, inclusive length abaixo do comprimento do texto, não consomem saldo pré-pago.
Onde o preenchimento central aparece no trabalho real
Como esta capacidade é um motor de parse puro, o preço da API é a base publicada de US$ 0,002 por item bem-sucedido e a validação falha não consome saldo.
Casos de integração
Formatação de campos de largura fixa
Monte campos de comprimento fixo alinhados ao centro para exportações, prévias e fixtures sem escrever aritmética de preenchimento ad hoc em cada script.
Perguntas técnicas
Como a API cobra o preenchimento central?
No navegador a centralização é gratuita e local. Pela API cada item de pad ao centro bem-sucedido debita US$ 0,002 do saldo pré-pago recarregável do KIT; validação recusada não gera cobrança.