Calculadora de variação percentual
De 80 para 100 há uma alta de 25 %: a diferença de 20 dividida pelo valor antigo, 80, vezes 100. Digite um valor antigo e um novo e receba a variação com sinal, a diferença, a razão e o sentido da mudança. 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 anterior
- 80
- Valor novo
- 100
- Diferença
- 20
- Razão
- 1,25
- Variação percentual
- 25
- Direção
- increase
A variação percentual responde a uma pergunta do dia a dia: quanto um número se moveu, em por cento, de um valor antigo para um valor novo. Esta calculadora subtrai a cifra antiga da nova, divide pela antiga e multiplica por cem para devolver um percentual com sinal. Uma alta de oitenta para cem é mais vinte e cinco por cento; uma queda de duzentos para cento e cinquenta é menos vinte e cinco por cento; valores iguais devolvem zero.
O que a variação percentual significa e por que o sinal importa
A variação percentual é o movimento relativo com sinal de uma grandeza entre duas observações, expresso como por cento da observação anterior. A identidade do livro é única e curta: subtraia o valor antigo do novo, divida essa diferença pelo valor antigo e multiplique por cem. O sinal do resultado conta a história inteira.
Um percentual positivo é um aumento, um negativo é uma queda e zero significa que as duas observações são idênticas. Isso é diferente de perguntar que por cento um número é de outro, que é simplesmente o novo dividido pelo antigo vezes cem sem subtrair. Também é diferente de aplicar um aumento percentual a uma base, e diferente de uma remarcação ou desconto que parte de um preço de lista.
Existe uma página dedicada à variação percentual porque quem busca essa frase já tem uma cifra antiga e uma nova e quer o movimento com sinal, não uma caixa de ferramentas de porcentagem com seis modos. De oitenta para cem a diferença é vinte, vinte sobre oitenta é um quarto, e um quarto vezes cem é mais vinte e cinco por cento.
De duzentos para cento e cinquenta a diferença é menos cinquenta, menos cinquenta sobre duzentos é menos um quarto, e o resultado é menos vinte e cinco por cento. O valor antigo fica no denominador, então precisa ser um número finito diferente de zero. Valores antigos negativos são lícitos: a mesma identidade se aplica, e o sinal ainda informa se a observação nova subiu ou desceu em relação a essa base negativa.
Onde uma calculadora de variação percentual se paga
Cadernos de ciência e laboratório reduzem duas leituras sucessivas a uma mudança relativa quando um sensor, um título ou uma massa se move, e precisam de um contrato que recuse uma base nula em vez de imprimir Infinity. Professores e quem redige provas querem um oráculo determinístico para «qual é a variação percentual de oitenta para cem» que também cubra quedas e pares sem mudança, não só o aumento feliz do primeiro exemplo do livro.
Equipes de varejo e preços comparam o ticket da semana passada com o desta sem confundir variação percentual com por cento de, nem com uma remarcação. Validação falha não consome saldo.
Casos de uso
Checagens de sala e provas
Deixe o alunado verificar «variação percentual de oitenta para cem» e os casos de queda equivalentes, inclusive o erro de base nula que um Infinity silencioso esconderia.
Preços, estoque e leituras de laboratório
Compare dois preços, contagens de estoque ou leituras de instrumento sucessivos e leia um percentual com sinal mais um rótulo de alta ou queda que você pode colocar ao lado de um minigráfico.
Perguntas frequentes
O que acontece se o valor antigo for zero?
A variação percentual divide pelo valor antigo, então uma base nula é indefinida; essas falhas não são cobradas.
Uma queda volta como percentual negativo?
Sim. O resultado tem sinal. Uma alta de oitenta para cem devolve +25 e increase.
Em que isso difere de uma calculadora geral de porcentagem?
Uma caixa geral mistura «por cento de», «que por cento é», aumento, queda e inverso.
Por que a ordem dos dois valores importa?
Porque o valor antigo é a base. De 80 para 100 há uma alta de 25 %, mas na volta, de 100 para 80, a queda é de 20 %, já que a mesma diferença de 20 agora é medida contra 100.
O que a razão entre os dois valores indica?
A razão é o valor novo dividido pelo antigo. De 80 para 100 ela vale 1,25, ou seja, o novo é 125 % do antigo; a variação percentual é essa razão menos um, escrita em porcentagem.
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/math/percentage-change \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"old_value":80,"new_value":100}'const res = await fetch("https://api.kit.forhosting.com/math/percentage-change", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"old_value": 80,
"new_value": 100
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/percentage-change",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"old_value": 80,
"new_value": 100
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/percentage-change", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"old_value":80,"new_value":100}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"old_value":80,"new_value":100}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/percentage-change", 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
{
"old_value": 80,
"new_value": 100
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.percentage_change",
"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
A divisão por um valor antigo nulo é indefinida, então esse caso falha com invalid_input em vez de Infinity.
O que a variação percentual significa e por que o sinal importa
Uma base nula deixa a mudança relativa indefinida, e esta calculadora informa isso como invalid_input em vez de Infinity ou NaN.
Contrato de entrada, forma da resposta e erros
Também nomeia direction como increase, decrease ou unchanged, reitera a string de fórmula e inclui uma mensagem de uma linha que você pode mostrar ao lado de um gráfico. Envie por POST um corpo JSON com dois números finitos obrigatórios: old_value, a base diferente de zero, e new_value, a observação posterior. Cada campo pode chegar como número JSON ou como string numérica. Alias comuns são aceitos quando o nome canônico é omitido: old, from, previous ou initial para old_value; new, to, current ou final para new_value. Campos ausentes, strings vazias, texto não numérico, NaN e Infinity falham com invalid_input nomeando o campo e não são cobrados. Um old_value nulo é recusado porque a fórmula divide pela base; essas falhas também não são cobradas. Em sucesso o corpo ecoa o old_value e o new_value limpos, devolve difference como novo menos antigo, ratio como novo dividido pelo antigo, e percent_change como resultado principal com sinal. Exemplo: old_value oitenta e new_value cem produz difference vinte, ratio um ponto vinte e cinco, percent_change vinte e cinco e direction increase. Exemplo: old_value duzentos e new_value cento e cinquenta produz percent_change menos vinte e cinco e direction decrease. Combine a carga com seus próprios rótulos ou traçados; este endpoint não emite gráficos nem prosa de sala passo a passo além dos campos message e formula.
Onde uma calculadora de variação percentual se paga
Painéis de finanças e operações relatam o movimento de um período a outro em receita, quadro, estoque e taxas de conversão; um endpoint dedicado ao percentual com sinal evita reimplementar a identidade em cada planilha e em cada linguagem de backend, onde um esquecimento de multiplicar por cem ou uma troca de antigo e novo vira a história em silêncio. Como a implementação é parse de nível A, cada chamada bem-sucedida custa o preço-base publicado US$ 0,002 sem tokens de modelo e sem rede de saída. Mantenha as requisições pequenas, fixe percent_change e direction nos testes e você obtém movimento com sinal reproduzível para painéis, tarefas e workers na borda sem montar uma pilha de álgebra simbólica.
Casos de integração
Painéis de um período a outro
Envie o período anterior e o atual em old_value e new_value para relatar uma variação percentual com sinal em receita, tráfego ou conversão, sem um auxiliar sob medida em cada pilha.
Perguntas técnicas
Como se calcula a variação percentual entre dois números?
Envie os números finitos old_value e new_value. A API devolve percent_change = (new_value − old_value) / old_value × 100, mais a diferença, a razão e uma direction de increase, decrease ou unchanged.
Quanto custa a calculadora de variação percentual?
A ferramenta do navegador é grátis. Pedidos à API usam saldo pré-pago a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.