Calculateur prix-quantité
Un prix unitaire de 12,5 multiplié par 4 unités donne un total de ligne de 50, et 2,5 mètres de tissu à 10 le mètre donnent 25. Vérifiez ainsi une facture, un devis ou une commande avant de l'envoyer. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Prix
- 12,5
- Quantité
- 4
- Total
- 50
Les lignes de vente, les factures et les bons de commande se réduisent presque toujours à une seule identité : le prix unitaire d'un article multiplié par le nombre d'unités que vous achetez. Douze cinquante l'unité fois quatre unités font cinquante ; neuf quatre-vingt-dix-neuf fois trois font vingt-neuf quatre-vingt-dix-sept. Ce calculateur prix-quantité accepte ces deux nombres finis non négatifs, les multiplie et renvoie le montant total afin qu'un vendeur, une feuille de calcul ou un script d'automatisation vérifie une ligne sans dresser un moteur de facturation. Zéro est admis et produit un total de zéro.
Comment le prix unitaire multiplié par la quantité devient le total de ligne
Un magasin qui vend un carnet à douze cinquante et un client qui en prend quatre doit cinquante, pas un arrondi improvisé. Infinity et NaN sont rejetés comme non finis. Le produit est arrondi à deux décimales pour que l'argent coïncide octet par octet entre les exécutions.
Associez le résultat à votre propre couche de taxes et de remises si vous avez besoin d'un grand total ; ce point ne multiplie que les deux nombres que vous envoyez. C'est tout le travail d'un calculateur prix-quantité : une ligne, deux nombres, un total.
Contrat d'entrée, forme de la réponse et comportement en cas d'erreur
Si price est négatif, le gestionnaire rejette la demande car un prix unitaire ne peut pas être négatif ; un échantillon gratuit de zéro est admis et produit un total de zéro. Si quantity est négatif, le gestionnaire rejette avec un message clair indiquant que quantity ne peut pas être négatif : ces échecs ne sont pas facturés. Une quantity nulle est valide et renvoie total de zéro.
Exemple : douze virgule cinq de prix unitaire fois quatre de quantity produit total de cinquante. Gardez les requêtes petites, figez le total arrondi dans les tests, et vous obtiendrez un montant de ligne reproductible pour les feuilles, les greffons POS et les workers de bord sans dresser un moteur de facturation à vous.
Où un calculateur prix-quantité justifie son existence
Les vendeurs et le personnel d'entrepôt utilisent un calculateur prix-quantité pour vérifier un bon de préparation manuscrit contre le prix unitaire affiché avant d'établir la facture. Les équipes catalogue saisissent un prix de liste et un décompte de pack, puis figent total afin qu'un teaser de boutique et un PDF de devis ne divergent jamais. Les équipes produit branchent le même contrat sur les aperçus de panier et les questionnaires d'accueil qui doivent afficher le total d'une ligne pour un panier d'exemple sans appeler un ERP.
C'est une recherche et un travail différents d'une comparaison de prix unitaires, d'un calculateur de taux unitaire et du coût d'un lot de recette : ces outils divisent le prix par le format d'emballage entre produits, divisent un total par un décompte pour obtenir un taux, ou additionnent de nombreux ingrédients. Prix fois quantité tarifie un SKU contre un décompte et renvoie de l'argent. Une validation en échec ne consomme pas le solde.
Taxes, livraison et remises promotionnelles restent hors de cette identité à dessein : intégrez-les dans votre propre couche après avoir le prix étendu brut.
Cas d’usage
Vérifiez une ligne de devis avant d'envoyer le PDF
Saisissez le prix unitaire du catalogue et la quantité de la commande, puis figez total afin que la ligne du devis coïncide avec le panier avant toute signature.
Contrôlez un bon de préparation d'entrepôt contre le prix de liste
Saisissez le prix unitaire affiché et le décompte du bon de préparation, puis confirmez que total coïncide avec la ligne de facture avant l'expédition.
Questions fréquentes
quantity peut-il être une fraction, ou doit-il être un entier ?
quantity peut être n'importe quel nombre fini non négatif, y compris des fractions telles que 2.5 mètres ou 1.25 litres. Il n'a pas à être un entier. Une valeur non finie est rejetée.
Cela inclut-il taxes, remises ou conversion de devises ?
Non. Ce calculateur ne multiplie que le prix unitaire par la quantité. Appliquez taxes, coupons, livraison et conversion de devises dans votre propre couche après avoir le prix étendu.
Le prix ou la quantité peuvent-ils être nuls ?
Oui. Un échantillon offert à prix nul, ou une ligne à zéro unité, donne un total de zéro au lieu d'une erreur. Seules les valeurs négatives et les nombres non finis sont refusés.
Comment saisir un retour avec un prix négatif ?
Sur un document à part. Le calculateur n'accepte ni prix ni quantité négatifs, car un avoir exige son propre signe explicite, et glisser un négatif dans un total est la façon dont les tableurs se trompent.
Comment le total est-il arrondi ?
Le produit est arrondi à deux décimales, les moitiés vers le haut. Le total de la ligne a ainsi la forme d'un montant d'argent et reste identique à chaque 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/fin/price-quantity \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"price":12.5,"quantity":4}'const res = await fetch("https://api.kit.forhosting.com/fin/price-quantity", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"price": 12.5,
"quantity": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/price-quantity",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"price": 12.5,
"quantity": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/price-quantity", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"price":12.5,"quantity":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"price":12.5,"quantity":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/price-quantity", 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
{
"price": 12.5,
"quantity": 4
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.price_quantity",
"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.
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
Un prix ou une quantité négatifs, ou une valeur qui n'est pas un nombre fini, échouent avec invalid_input et ne sont pas facturés.
Comment le prix unitaire multiplié par la quantité devient le total de ligne
Le prix étendu d'une ligne est le produit d'un prix unitaire et d'une quantité : total est égal à price fois quantity. La même identité couvre les quantités fractionnaires : deux mètres et demi de tissu à dix le mètre font vingt-cinq, et un litre et quart de solvant à huit le litre font dix. quantity est un nombre fini non négatif, pas nécessairement entier, car de nombreux SKU se vendent au poids, à la longueur ou au temps. price est un nombre fini non négatif dans une seule monnaie ; ce calculateur ne convertit pas les devises, n'applique pas de taxe et ne prend pas de remise. Zéro est une entrée légitime : un échantillon offert avec price à zéro, ou une ligne avec quantity à zéro, produisent tous deux un total de zéro plutôt qu'une erreur. Un price négatif ou un quantity négatif n'est pas un avoir dans ce contrat : c'est invalid_input, car un crédit appartient à son propre document avec une convention de signe explicite, et multiplier en silence un moins dans le total du panier est la façon dont les feuilles se trompent.
Contrat d'entrée, forme de la réponse et comportement en cas d'erreur
Envoyez par POST un corps JSON avec deux nombres finis obligatoires. price est le prix unitaire dans une seule monnaie ; les alias unit_price, unit_cost et cost pointent vers le même champ afin qu'un export de catalogue conserve les noms de colonnes. quantity est le nombre d'unités que vous achetez ; les alias qty, count, units et q sont acceptés. Chaque champ numérique peut arriver comme nombre JSON ou comme chaîne numérique. Les champs manquants, les chaînes vides et les valeurs non finies telles que NaN ou Infinity échouent avec invalid_input en nommant le champ. En cas de succès, le corps répète price et quantity, puis indique total comme le produit arrondi à deux décimales, et une chaîne formula qui réaffirme l'identité total égal à price fois quantity. Associez le JSON à votre propre règle de taxes, de coupons ou de factures multilignes, car ce point multiplie les deux nombres que vous envoyez ; il ne consulte pas un SKU, ne convertit pas les devises et ne répartit pas un panier.
Où un calculateur prix-quantité justifie son existence
Comme l'implémentation est parse de niveau A pur, chaque appel réussi coûte le prix de base publié $0.002 sans jetons de modèle et sans réseau sortant. Gardez price et quantity non négatifs et finis, figez le total arrondi dans les tests, et vous obtiendrez un montant de ligne reproductible pour les teasers, les bons de préparation et les workers de bord sans dresser un grand livre de facturation à vous.
Cas d'intégration
Alimentez un teaser de panier ou un greffon POS avec les mêmes chiffres
Envoyez price et quantity depuis un enregistrement SKU, puis affichez total dans le teaser ; le widget gratuit et la voie API arrondissent de la même façon.
Questions techniques
Comment le total est-il calculé à partir du prix unitaire et de la quantité ?
Envoyez des nombres finis non négatifs price (prix unitaire) et quantity (décompte, poids, longueur ou temps). L'API renvoie total = price × quantity, arrondi à deux décimales, plus les entrées répétées et une chaîne formula.
Que se passe-t-il si price ou quantity sont négatifs ?
La tâche échoue avec invalid_input. Un prix unitaire négatif ou une quantité négative ne sont pas admis dans ce contrat et ne sont pas facturés. Zéro est valide et produit un total de zéro.
Combien coûte le calculateur prix-quantité ?
L'outil du navigateur est gratuit. Les requêtes API utilisent un solde prépayé à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.