Prix unitaire
Un sachet de café de 2 livres à 13,99 revient moins cher à l'once qu'un sachet de 12 onces à 6,49, car il contient 32 onces. Saisissez prix, quantité et unité de chaque emballage pour trouver le plus avantageux. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Unité cible
- Oz
- Dimension
- weight
- Quantité
- 2
- Meilleur indice
- 1
- Meilleurs indices
- 1
Le calculateur de prix unitaire permet de comparer directement des conditionnements de tailles différentes. Indiquez le prix, la quantité et l’unité de chaque produit, puis choisissez l’unité de résultat ou conservez celle du premier produit. L’outil convertit les mesures compatibles avant de diviser le prix par la quantité, signale l’option la moins chère et gère les égalités exactes. Le calcul est déterministe, sans réseau ni stockage.
Comparez les formats sur une base commune
Le prix affiché ne suffit généralement pas à déterminer quel conditionnement est le plus avantageux. Une grande bouteille coûte souvent plus cher au total, tout en revenant moins cher au millilitre. Pour chaque produit, saisissez le prix complet, la quantité numérique indiquée et son unité.
Les unités de poids admises sont le gramme, le kilogramme, l’once et la livre ; pour le volume, le millilitre, le litre, l’once liquide américaine et le gallon américain ; pour les articles comptés, l’unité et la douzaine. Le calculateur convertit tous les formats vers une unité cible, divise leur prix par la quantité convertie et marque le résultat le plus bas. Sans unité cible, celle du premier produit est retenue.
Un seul produit peut également être traité pour obtenir son coût unitaire. Tous les produits d’une requête doivent relever de la même dimension : poids, volume ou nombre. La réponse conserve les mesures d’origine et affiche la quantité normalisée afin que vous puissiez vérifier chaque étape.
Saisissez des prix, quantités et unités valides
Utilisez des nombres simples pour le prix et la quantité. Le prix peut être nul, mais jamais négatif ; la quantité doit être strictement positive, car une division par zéro ne définit aucun prix unitaire. Chaque produit peut porter un nom ; sinon, il reçoit un libellé stable tel que Produit 1.
Les conversions reposent sur des facteurs physiques fixes : 1 kilogramme vaut 1000 grammes, 1 livre 453.59237 grammes, 1 litre 1000 millilitres et 1 gallon américain 3785.411784 millilitres. L’outil ne convertit pas les devises, n’ajoute pas les taxes, ne déduit pas les coupons et n’évalue pas la qualité. Corrigez d’abord le prix du conditionnement si ces éléments modifient votre coût réel.
Interprétez le résultat pour décider
Une réponse valide fournit la dimension commune, l’unité cible, le nombre de produits et un tableau products. Cette propriété convient aux comparateurs de courses, contrôles fournisseurs, imports de stock, exercices pédagogiques et tests de boutiques. Le prix unitaire le plus bas n’est toutefois pas toujours le meilleur achat si le surplus expire, si le stockage manque ou si la qualité diffère.
Vérifiez aussi que la quantité représente un contenu utile comparable.
Cas d’usage
Comparaison de formats en magasin
Comparez sachets, bouteilles ou lots de tailles différentes dans une même unité.
Contrôle d’un catalogue fournisseur
Normalisez les tarifs avant d’approuver une référence ou de signaler l’option économique.
Affichage unitaire en commerce en ligne
Produisez des coûts cohérents par poids, volume ou nombre pour les fiches et leurs tests.
Questions fréquentes
Comment le prix unitaire est-il calculé ?
La quantité du conditionnement est convertie dans l’unité cible, puis le prix est divisé par cette quantité normalisée.
Puis-je comparer des livres aux onces ou des litres aux millilitres ?
Oui. Les unités compatibles de poids ou de volume sont automatiquement converties avant comparaison.
Puis-je comparer un poids et un volume, par exemple des grammes et des millilitres ?
Non. Tous les produits d'une comparaison doivent utiliser la même grandeur : poids, volume ou nombre de pièces. Cela évite un résultat d'apparence précise mais sans signification physique.
Que se passe-t-il si deux emballages ont le même prix unitaire ?
Le calculateur repère les égalités exactes et signale comme meilleur choix tous les emballages qui partagent le prix unitaire le plus bas, pas seulement le premier de la liste.
Le calcul tient-il compte des taxes, des bons de réduction ou des abonnements ?
Non. Il ne convertit pas non plus les devises et n'évalue pas la qualité. Pour en tenir compte, intégrez ces ajustements dans le prix de chaque emballage avant le calcul.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
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)Exemple de requête
{
"products": [
{
"name": "Small coffee",
"price": 6.49,
"quantity": 12,
"unit": "oz"
},
{
"name": "Large coffee",
"price": 13.99,
"quantity": 2,
"unit": "lb"
}
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "finance.price_per_unit",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
min_products | 1 |
max_products | 50 |
max_abs | 1000000000000 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Utilisez-le dans votre navigateur pour un achat ponctuel ou appelez l’API pour $0.002 afin d’automatiser catalogues, achats et budgets.
Saisissez des prix, quantités et unités valides
Retirez symboles monétaires, séparateurs de milliers et texte localisé avant l’appel API. Le contrat accepte des nombres JSON finis pour éviter toute interprétation silencieuse. Choisissez target_unit pour imposer une convention précise. Toute ligne incorrecte renvoie invalid_input, jamais un chiffre inventé.
Interprétez le résultat pour décider
Chaque ligne contient le prix, la quantité et l’unité d’origine, la quantité convertie, price_per_unit et is_best_value. best_index désigne la première ligne la moins chère, tandis que best_indexes rassemble toutes les lignes à égalité après arrondi stable. best_name et best_price_per_unit simplifient une interface ou une règle d’achat. Une même entrée JSON produit toujours la même sortie dans le navigateur et par l’API. Chaque calcul API réussi coûte $0.002. Pour l’auditer, divisez le prix par normalized_quantity et vérifiez l’égalité avec price_per_unit.
Questions techniques
Puis-je comparer un poids à un volume ?
Non. Poids, volume et nombre sont des dimensions distinctes ; leur mélange renvoie invalid_input, car le résultat serait dépourvu de sens.
Que se passe-t-il si deux produits ont le même prix unitaire ?
Tous portent is_best_value ; best_indexes les répertorie et best_index indique la première ligne ex æquo.
Combien coûte le calcul par API ?
Une requête réussie coûte $0.002. Le calculateur du navigateur exécute localement le même calcul déterministe.