Preço por unidade
Um pacote de café de 2 libras a 13,99 sai mais barato por onça que um de 12 onças a 6,49, porque tem 32 onças. Informe preço, quantidade e unidade de cada embalagem para ver qual compensa. 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
- Unidade de destino
- Oz
- Dimensão
- weight
- Quantidade
- 2
- Melhor índice
- 1
- Melhores índices
- 1
A calculadora de preço por unidade torna embalagens de tamanhos diferentes diretamente comparáveis. Informe preço, quantidade e unidade de cada produto e escolha a unidade de resultado, ou permita que a primeira seja usada. A ferramenta converte medidas compatíveis antes de dividir o preço pela quantidade, indica a opção mais barata e reconhece empates exatos. O cálculo é determinístico, sem rede nem armazenamento.
Compare preços de embalagens na mesma base
O preço da etiqueta raramente revela sozinho qual embalagem oferece mais valor. Uma garrafa maior costuma custar mais no total, mas pode sair mais barata por mililitro. Para cada produto, informe o preço total, a quantidade numérica indicada e sua unidade.
São aceitos gramas, quilogramas, onças e libras para peso; mililitros, litros, onças fluidas americanas e galões americanos para volume; e unidades ou dúzias para itens contados. A calculadora converte todas as embalagens para uma unidade-alvo, divide o preço pela quantidade convertida e marca o menor resultado. Você também pode enviar apenas um produto para obter seu custo unitário.
Todos os itens da solicitação devem pertencer à mesma dimensão: peso não pode ser comparado diretamente com volume ou contagem. A resposta preserva a medida original e exibe a quantidade normalizada, permitindo que você confira a conversão e a divisão sem uma etapa oculta.
Informe preços, quantidades e unidades válidos
Use números simples para preço e quantidade. O preço pode ser zero, mas não negativo; a quantidade precisa ser maior que zero, pois divisão por zero não define preço unitário. Cada produto pode ter um nome; linhas sem nome recebem rótulos estáveis como Produto 1.
As conversões usam fatores físicos fixos: um quilograma corresponde a 1000 gramas, uma libra a 453.59237 gramas, um litro a 1000 mililitros e um galão americano a 3785.411784 mililitros. A ferramenta não converte moedas, inclui impostos, desconta cupons nem avalia qualidade. Ajuste previamente o preço da embalagem caso esses elementos alterem seu custo efetivo.
Casos de uso
Comparação de embalagens no mercado
Compare sacos, garrafas ou multipacks de tamanhos distintos e escolha o menor custo na mesma unidade.
Revisão de catálogo de compras
Normalize preços de fornecedores antes de aprovar um SKU ou destacar a alternativa econômica.
Preço unitário no comércio eletrônico
Gere custos consistentes por peso, volume ou quantidade para páginas de produtos e testes.
Perguntas frequentes
Como o preço por unidade é calculado?
A quantidade da embalagem é convertida para a unidade-alvo e o preço é dividido por essa quantidade normalizada.
Posso comparar libras com onças ou litros com mililitros?
Sim. Unidades compatíveis de peso ou volume são convertidas automaticamente antes da comparação.
Posso comparar peso com volume, como gramas com mililitros?
Não. Todos os produtos de uma comparação precisam usar a mesma medida: peso, volume ou unidades. Isso evita um resultado que parece preciso mas não tem sentido físico.
E se duas embalagens tiverem o mesmo preço por unidade?
A calculadora reconhece empates exatos e marca como melhor opção todas as embalagens que dividem o menor preço por unidade, não só a primeira da lista.
O cálculo inclui impostos, cupons ou mensalidades de clube?
Não. Ele também não converte moedas nem avalia qualidade. Se quiser considerar esses ajustes, inclua-os no preço de cada embalagem antes de calcular.
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/finance/price-per-unit \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"products":[{"name":"Small coffee","price":6.49,"quantity":12,"unit":"oz"},{"name":"Large coffee","price":13.99,"quantity":2,"unit":"lb"}]}'const res = await fetch("https://api.kit.forhosting.com/finance/price-per-unit", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"products": [
{
"name": "Small coffee",
"price": 6.49,
"quantity": 12,
"unit": "oz"
},
{
"name": "Large coffee",
"price": 13.99,
"quantity": 2,
"unit": "lb"
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/finance/price-per-unit",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"products": [
{
"name": "Small coffee",
"price": 6.49,
"quantity": 12,
"unit": "oz"
},
{
"name": "Large coffee",
"price": 13.99,
"quantity": 2,
"unit": "lb"
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/finance/price-per-unit", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"products":[{"name":"Small coffee","price":6.49,"quantity":12,"unit":"oz"},{"name":"Large coffee","price":13.99,"quantity":2,"unit":"lb"}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"products":[{"name":"Small coffee","price":6.49,"quantity":12,"unit":"oz"},{"name":"Large coffee","price":13.99,"quantity":2,"unit":"lb"}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/finance/price-per-unit", 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
{
"products": [
{
"name": "Small coffee",
"price": 6.49,
"quantity": 12,
"unit": "oz"
},
{
"name": "Large coffee",
"price": 13.99,
"quantity": 2,
"unit": "lb"
}
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "finance.price_per_unit",
"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
min_products | 1 |
max_products | 50 |
max_abs | 1000000000000 |
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
Você pode usá-lo no navegador em uma compra pontual ou chamar a API por US$ 0,002 para automatizar catálogos, compras e orçamentos.
Compare preços de embalagens na mesma base
Sem target_unit, usa-se a unidade do primeiro produto.
Informe preços, quantidades e unidades válidos
Remova símbolos monetários, separadores de milhar e texto localizado antes de chamar a API. O contrato aceita números JSON finitos para impedir interpretações silenciosas. Selecione target_unit quando desejar uma convenção específica, como preço por quilograma, onça fluida ou item. Entradas inválidas retornam invalid_input em vez de um valor inventado.
Leia o resultado e aplique-o à decisão
Cada resposta válida informa a dimensão comum, a unidade-alvo, a quantidade de produtos e um array products. Ainda assim, menor preço unitário pode não ser a melhor compra quando há desperdício, pouco espaço ou diferença de qualidade. Confirme também se a quantidade declarada representa conteúdo útil comparável, especialmente em peso drenado, concentrados e multipacks. Cada registro contém preço, quantidade e unidade originais, quantidade convertida, price_per_unit e is_best_value. best_index aponta a primeira linha mais barata, enquanto best_indexes inclui todas as linhas empatadas após o arredondamento estável. best_name e best_price_per_unit simplificam interfaces e regras de compra. A mesma entrada JSON produz sempre a mesma saída no navegador e na API. Isso atende comparadores de supermercado, aprovação de fornecedores, importação de estoque, educação financeira e testes de lojas virtuais. Cada cálculo bem-sucedido pela API custa US$ 0,002. Para auditar, divida o preço por normalized_quantity e confirme que o resultado corresponde a price_per_unit.
Perguntas técnicas
Posso comparar peso com volume?
Não. Peso, volume e contagem são dimensões distintas; misturá-las retorna invalid_input, pois o resultado não teria sentido.
O que acontece quando dois produtos têm o mesmo preço unitário?
Todos recebem is_best_value; best_indexes lista os empatados e best_index aponta a primeira linha.
Quanto custa o cálculo pela API?
Uma solicitação concluída custa US$ 0,002. A calculadora do navegador executa localmente o mesmo cálculo determinístico.