Calculez le prix remisé, le coût final et l'économie
Un article à 120 avec 25 % de remise coûte 90, soit 30 d'économie. Indiquez une remise ou une liste ordonnée de remises et voyez le prix final, chaque pourcentage appliqué et l'économie totale, arrondis au centime. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Prix d'origine
- 120
- Pourcentage de remise
- 25
- Remises
- 25
- Prix final
- 90
- Total économisé
- 30
Calculez le montant que vous paierez réellement après une remise ou une série de réductions. Saisissez le prix initial, puis choisissez un pourcentage unique ou une suite ordonnée, par exemple vingt pour cent puis dix pour cent. Le résultat indique le prix initial normalisé, chaque taux appliqué, le prix final et l'économie totale. Le calcul est déterministe, arrondit au centime après chaque étape et rejette les pourcentages incorrects sans les modifier silencieusement.
Choisissez le prix initial et la bonne entrée de remise
Commencez par un prix initial positif ou nul exprimé sous forme de nombre. Indiquez ensuite une seule méthode de remise. Pour combiner des réductions, utilisez discounts avec une liste ordonnée d'au moins un pourcentage.
N'envoyez pas les deux champs, car l'ordre voulu deviendrait ambigu, et ne les omettez pas tous les deux. Une remise de zéro pour cent est valide et ne change pas le prix, tandis qu'une remise de cent pour cent ramène le prix courant à zéro. Les taux négatifs sont refusés, car ils constitueraient des majorations.
Tout taux supérieur à cent provoque également une erreur de saisie au lieu de créer un prix négatif. Le prix initial doit être fini et respecter la limite documentée. Ce contrat strict sécurise les aperçus de paiement et les traitements automatisés : les valeurs incorrectes sont arrêtées immédiatement et les données acceptées suivent toujours le même calcul.
La réponse renvoie la liste des remises, même pour un taux unique, afin que le code en aval traite les deux formats uniformément.
Comprenez l'effet des remises successives
Les remises successives s'appliquent au prix restant ; elles ne sont pas additionnées avant une application unique. Si un article coûte cent unités et bénéficie de vingt pour cent de remise, il reste quatre-vingts. Une nouvelle réduction de dix pour cent enlève huit unités et donne soixante-douze, au lieu d'une baisse simple de trente pour cent.
Cette différence est essentielle pour les coupons cumulés, les remises commerciales, les soldes saisonnières et les tarifs négociés. Le calculateur conserve l'ordre fourni dans discounts et traite chaque élément une fois. Après chaque réduction, le prix intermédiaire est arrondi au centime le plus proche, comme dans de nombreux systèmes de vente qui transmettent un montant payable d'une promotion à la suivante.
Une valeur de cent pour cent ramène le prix courant à zéro ; toute remise valide ultérieure le laisse à zéro. La liste est limitée à cent éléments afin que les envois accidentellement volumineux restent prévisibles.
Exploitez le résultat pour les achats, devis et automatisations
Les messages relatifs aux valeurs excessives précisent notamment que cent est dépassé : la règle commerciale est donc explicite et aucun taux n'est plafonné discrètement. La capacité n'effectue aucune requête réseau, n'emploie aucune valeur aléatoire et ne conserve aucun état entre les appels. Elle convient ainsi aux tests reproductibles et aux calculs par lots.
Aucun symbole monétaire n'est imposé, car le calcul convient à toute devise normalement affichée avec deux décimales.
Cas d’usage
Vérifier un prix soldé
Transformez un prix affiché et un taux annoncé en montant final et économie exacte.
Évaluer des coupons cumulés
Appliquez plusieurs pourcentages dans l'ordre sans additionner à tort leurs taux.
Automatiser les devis
Produisez des prix finaux et économies cohérents pour les devis, paiements ou validations.
Questions fréquentes
Les remises successives sont-elles additionnées ?
Non. Chaque taux s'applique au prix restant après la réduction précédente.
Comment les prix sont-ils arrondis ?
Le prix initial et chaque montant intermédiaire sont arrondis au centime le plus proche.
Combien font 25 % de remise sur 120 ?
Le prix final est de 90 et vous économisez 30. Saisissez 120 comme prix d'origine et 25 comme remise ; le résultat rappelle aussi le pourcentage appliqué pour que vous puissiez vérifier.
Que se passe-t-il avec une remise de 0 % ou de 100 % ?
Une remise nulle laisse le prix inchangé et une remise totale le ramène à zéro. Les pourcentages négatifs ou supérieurs à 100 sont refusés, car ils agiraient comme une majoration ou donneraient un prix négatif.
Le résultat indique-t-il combien j'économise ?
Oui. À côté du prix final figure l'économie totale, soit le prix d'origine arrondi moins le prix final arrondi, ainsi que chaque pourcentage appliqué, dans l'ordre.
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/calc2/discount-price \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"original_price":120,"discount_percentage":25}'const res = await fetch("https://api.kit.forhosting.com/calc2/discount-price", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"original_price": 120,
"discount_percentage": 25
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/calc2/discount-price",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"original_price": 120,
"discount_percentage": 25
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/calc2/discount-price", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"original_price":120,"discount_percentage":25}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"original_price":120,"discount_percentage":25}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/calc2/discount-price", 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
{
"original_price": 120,
"discount_percentage": 25
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "calc2.discount_price",
"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
Choisissez le prix initial et la bonne entrée de remise
Pour une promotion simple, utilisez discount_percentage avec une valeur comprise entre zéro et cent.
Comprenez l'effet des remises successives
La réponse contient final_price et total_saved, ce dernier correspondant au prix initial arrondi moins le prix final arrondi. Chaque étape appliquant la même règle déterministe, deux requêtes JSON identiques donnent le même résultat.
Exploitez le résultat pour les achats, devis et automatisations
L'objet renvoyé est lisible directement et facile à transmettre à un autre système. original_price enregistre le montant de départ arrondi aux centimes, discounts contient les taux dans leur ordre d'application, final_price représente le montant restant après toutes les réductions et total_saved mesure l'écart total avec le départ. Une boutique peut afficher final_price près de total_saved, un service achats peut comparer des offres comportant différentes séries de remises et un outil de devis peut conserver toute la séquence pour un contrôle ultérieur. Pour automatiser l'API, vérifiez le code invalid_input et utilisez le message afin de repérer le champ fautif. La version dans le navigateur est gratuite et chaque requête API coûte $0.002.
Questions techniques
Que se passe-t-il si une remise dépasse 100 pour cent ?
La requête échoue avec invalid_input ; un taux excessif n'est jamais plafonné.
Puis-je fournir les deux champs de remise ?
Non. Utilisez discount_percentage pour une réduction ou discounts pour une suite ordonnée.
Combien coûte une requête API ?
Chaque requête API coûte $0.002 ; le calculateur du navigateur est gratuit.