Calculateur de remise
Voyez ce qu'il reste vraiment à payer après une remise en pourcentage : 15 % sur 19,99 font économiser 3,00 et ramènent le prix à 16,99, au centime près. Pratique pour les promotions, les aperçus de paiement et les devoirs. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Prix
- 100.00
- Pourcentage
- 10
- Montant de la remise
- 10.00
- Prix final
- 90.00
Acheteurs et commerces cherchent un calculateur de remise qui transforme un prix d'origine et un pourcentage en économie et prix final clairs.
Du prix et du pourcentage à l'économie et au prix final
Acheteurs et commerçants ont souvent besoin des deux mêmes réponses : combien une remise en pourcentage retire, et ce qu'il reste à payer. Saisissez le prix d'origine et le pourcentage de remise, et le calculateur renvoie le montant de la remise et le prix final. Un prix de 100,00 avec 10 % de remise donne 10,00 de remise et un prix final de 90,00 ; 19,99 avec 15 % donne 3,00 et 16,99. Les boutiques s'en servent pour vérifier les prix avant de publier une promotion, les pages de paiement pour afficher l'économie d'un coupon à pourcentage simple, et les élèves pour vérifier des exercices au centime près.
Pourquoi chaque résultat est juste au centime
Le prix est d'abord converti en centimes entiers, si bien qu'aucune fraction de centime ne se glisse dans le calcul. La remise vaut le prix en centimes multiplié par le pourcentage puis divisé par 100, arrondi vers le haut à la moitié, puis elle est retirée du prix d'origine pour obtenir le prix final. Cela correspond à l'arrondi habituel du commerce, et les deux montants sortent toujours avec exactement deux décimales. Pour un résultat fiable, le prix doit comporter au plus deux décimales ou être entier, sans zéro en tête ni signe plus, et le pourcentage doit être un entier de 0 à 100. Le reste est refusé plutôt que corrigé en silence.
Entrée monétaire canonique
Envoyez le prix en chaîne à 1–2 décimales ou en entier non négatif. Rejette float, zéros initiaux et plus de deux décimales.
Pourcentage de 0 à 100
La remise est un entier 0…100. Les chaînes de chiffres sont acceptées.
Half-up au centime
discount = half-up de prix×percent/100 en centimes ; final = prix − remise. Ex. : 19.99 à 15 % → remise 3.00 et final 16.99, aligné sur l'arrondi commercial courant.
Cas d’usage
Promos
Affichez les prix finaux des campagnes en pourcentage.
Checkout
Estimez l'économie d'un coupon simple.
Études
Vérifiez les exercices de remise au centime.
Questions fréquentes
Comment calculer une remise de 15 % sur 19,99 ?
Saisissez 19,99 comme prix et 15 comme pourcentage. La remise s'élève à 3,00 et le prix final à 16,99, arrondis au centime comme le font la plupart des commerçants.
Comment la remise est-elle arrondie ?
Au centime, vers le haut quand on tombe pile sur la moitié. Le calcul se fait en centimes entiers, si bien que 15 % de 19,99 donnent une remise de 3,00 tout rond.
Quels pourcentages de remise puis-je saisir ?
Des nombres entiers de 0 à 100. Un pourcentage avec décimales, ou hors de cette plage, est refusé avec un message clair au lieu d'être ajusté sans prévenir.
Comment saisir le prix ?
Avec deux décimales au plus, comme 19,99, ou sous forme de nombre entier. Les zéros en tête, le signe plus ou plus de deux décimales sont refusés, pour qu'une faute de frappe ne change pas le résultat.
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/dev/discount-calculator \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"price":"100.00","percent":10}'const res = await fetch("https://api.kit.forhosting.com/dev/discount-calculator", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"price": "100.00",
"percent": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/discount-calculator",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"price": "100.00",
"percent": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/discount-calculator", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"price":"100.00","percent":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"price":"100.00","percent":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/discount-calculator", 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": "100.00",
"percent": 10
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.discount_calculator",
"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
max_price_cents | 999999999999999 |
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
Sorties stables
price, discount_amount et final_price sont des chaînes à deux décimales ; percent un entier. Champs manquants et négatifs renvoient invalid_input avec sous-chaînes stables.
Cas d'intégration
CI
Assert discount et final en golden.
Questions techniques
Arrondi ?
Half-up au centime.
Float ?
Non ; chaîne ou entier.
Plage % ?
Entiers 0 à 100.
Sortie float ?
Non ; chaînes NN.NN.
Prix négatif ?
invalid_input.
Gratuit ?
Oui dans le navigateur ; app $0.002.