Calculadora de forma expandida
A calculadora de forma expandida pega um único número e o decompõe na soma de seus valores posicionais, dígito por dígito.
Executar grátis
Um inteiro como 7304 retorna 7000 + 300 + 4, e um decimal como 204.75 retorna 200 + 4 + 0.7 + 0.05, mostrando cada dígito ao lado do valor exato que ele contribui. Números negativos, decimais muito pequenos e valores grandes são todos tratados, e qualquer entrada que não seja um número finito é rejeitada com um erro claro em vez de uma resposta errada. É o exercício de valor posicional que os estudantes veem na escola, automatizado e exato: você envia um número e recebe a lista ordenada de termos, a expressão canônica como string e o detalhe por termo com cada dígito, sua potência de dez e sua contribuição com sinal. O mesmo código roda grátis nesta página e pela API.
O que a forma expandida realmente significa
Cada dígito de um número deve seu valor a duas coisas: o próprio dígito e a posição que ele ocupa. O 7 em 7304 não é sete, é sete mil, porque ocupa a casa dos milhares. A forma expandida é simplesmente o hábito de escrever isso por extenso: você decompõe o número em um termo por dígito não nulo, onde cada termo é o dígito multiplicado por sua potência de dez, e soma os termos. É uma das primeiras ideias formais da aritmética porque explica por que nosso sistema numérico funciona — dez símbolos e uma regra posicional escrevem qualquer quantidade. Este endpoint faz essa decomposição com exatidão, inclusive depois da vírgula decimal, onde as casas viram décimos, centésimos e milésimos. Um dígito 5 na segunda casa decimal de 204.75 contribui 0.05, e a resposta diz isso explicitamente. O resultado sempre reconstrói o número original quando os termos são somados, então a saída serve como verificação de si mesma: se os termos não somam de volta a entrada, algo deu errado antes.
Como a expansão é calculada
A entrada é validada primeiro: precisa ser um número finito, e strings numéricas como "-204.75" são aceitas por conveniência, enquanto texto, null e valores não finitos são rejeitados com um erro de entrada inválida que nunca é cobrado. O número validado é então convertido em uma string decimal simples — a notação exponencial é desenrolada manualmente — para que até valores finitos muito grandes ou muito pequenos sejam decompostos dígito por dígito sem desvio de ponto flutuante. Cada dígito é pareado com sua casa, definida como a potência de dez que ocupa em relação ao ponto decimal, e os dígitos zero são ignorados porque nada contribuem. Os termos são construídos como strings decimais exatas e só depois convertidos em números, e os termos com sinal, a expressão canônica e o detalhe por termo são retornados juntos. O cálculo é totalmente determinístico: sem rede, sem aleatoriedade, sem relógio, então a mesma entrada sempre produz uma saída idêntica byte a byte, e é isso que faz a versão gratuita no navegador e a versão paga da API concordarem exatamente.
Onde isso se encaixa na prática
Professores e plataformas de reforço usam a forma expandida para gerar exercícios e corrigir respostas de alunos automaticamente: em vez de comparar texto livre, comparam a lista estruturada de termos. Apps educacionais usam o detalhe por termo para renderizar decomposições interativas, colorindo cada dígito conforme sua casa enquanto o aluno explora um número. Pipelines de conteúdo a usam para produzir exemplos resolvidos em escala, pois uma chamada gera tanto os termos legíveis por máquina quanto a expressão imprimível. Além da educação, a decomposição é uma visão útil de depuração sempre que uma quantidade precisa ser explicada a uma pessoa — painéis financeiros, leituras científicas e relatórios se beneficiam de mostrar quais ordens de grandeza dominam um valor. O endpoint roda na nossa edge, não guarda nada após a chamada e custa US$ 0,002 por requisição, com a mesma lógica disponível grátis no navegador nesta página para uso interativo, então você só paga quando automatiza em um script, backend ou lote que processa muitos números.
Casos de uso
Gerar exercícios de valor posicional
Produza questões de forma expandida e gabaritos para uma apostila ou app de reforço a partir de uma lista de números, com uma chamada por número.
Corrigir respostas de alunos automaticamente
Compare a decomposição enviada com a lista estruturada de termos em vez de interpretar somas em texto livre manualmente.
Explicar um valor em um relatório
Mostre quais ordens de grandeza dominam uma quantidade exibindo sua decomposição posicional ao lado do número.
Perguntas frequentes
Quanto custa?
US$ 0,002 por requisição via API. Também é grátis usar no seu navegador nesta página.
Que entrada é aceita?
Qualquer número finito, passado como número ou como string numérica como "-204.75". Qualquer outra coisa retorna erro de entrada inválida e não é cobrada.
Decimais são suportados?
Sim. Dígitos fracionários se expandem em valores posicionais fracionários: 204.75 vira 200 + 4 + 0.7 + 0.05.
O que acontece com números negativos?
A magnitude é expandida e o sinal é aplicado à expressão inteira: -204.75 vira -(200 + 4 + 0.7 + 0.05), e cada termo retornado tem sinal.
O que é retornado exatamente?
O número original, a lista ordenada de termos com sinal, a expressão canônica em forma expandida como string e o detalhe por termo com cada dígito, sua potência de dez e sua contribuição.
O resultado é determinístico?
Sim. O algoritmo não usa rede, aleatoriedade nem relógio, então a mesma entrada sempre gera uma saída idêntica byte a byte.
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/math/expanded-form \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":7304.5}'const res = await fetch("https://api.kit.forhosting.com/math/expanded-form", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": 7304.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/expanded-form",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": 7304.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/expanded-form", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":7304.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":7304.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/expanded-form", 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
{
"number": 7304.5
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.expanded_form",
"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. |