Calculateur de pourcentage
Les six questions de pourcentage les plus courantes réunies : combien font 20 % de 150 (30), quelle part un nombre représente d'un autre, de combien une valeur a monté ou baissé et ce qu'elle coûtait avant une majoration. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Valeur
- 150
- Calcul
- X % d'une valeur
- Pourcentage (%)
- 20
- Résultat
- 30
Calcule des pourcentages selon six modes à partir d'entrées numériques : pourcentage d'une valeur, quel pourcentage un nombre représente d'un autre, variation en pourcentage entre deux nombres, une augmentation ou une diminution en pourcentage, et inverse (retirer un pourcentage ajouté). Arrondi half-up à un nombre de décimales choisi.
Les six questions derrière presque chaque pourcentage
Presque tous les calculs de pourcentage se ramènent à six questions. Combien font 20 % de 150 ? Quel pourcentage un nombre représente-t-il d'un autre, comme une note sur un total ? De combien un prix ou un salaire a-t-il changé ? Que reste-t-il après une hausse ou une remise ? Et celle qui piège le plus : combien valait une chose avant qu'on lui ajoute un pourcentage, comme une taxe ou une marge ? Il existe une option pour chacune : vous choisissez la question au lieu de réarranger une formule.
Les erreurs classiques avec les pourcentages
Une hausse suivie d'une baisse du même pourcentage ne ramène pas au point de départ, car la baisse est calculée sur une base plus grande. Retirer une taxe n'est pas soustraire son taux : il faut diviser par un plus le taux, ce que fait l'option inverse. La variation en pourcentage prend toujours l'ancienne valeur comme base, donc l'ordre des deux nombres compte. Les résultats sont arrondis au nombre de décimales que vous choisissez, deux par défaut.
Entrées, arrondi et champs requis par chaque mode
Le champ facultatif decimals vaut 2 par défaut et doit être un entier de 0 à 10. Chaque champ numérique doit être un nombre fini ; les magnitudes supérieures à 1e15 sont rejetées comme hors plage pour garder des résultats pertinents et l'onglet réactif. La réponse renvoie le résultat numérique brut (et delta pour increase/decrease), jamais une chaîne formatée, de sorte que le code en aval peut poursuivre les calculs sans réanalyser.
Questions fréquentes
Comment l'arrondi est-il géré ?
Half-up sur la valeur calculée aux décimales que vous choisissez (0 à 10, 2 par défaut), appliqué par magnitude de sorte que les négatifs s'arrondissent en s'éloignant de zéro.
Comment calculer 20 % de 150 ?
Choisissez l'option pourcentage d'une valeur, saisissez 20 comme pourcentage et 150 comme valeur : le résultat est 30. Elle convient aussi pour un pourboire, une commission ou toute part d'un total.
Comment calculer le pourcentage d'augmentation entre deux nombres ?
Utilisez la variation en pourcentage et saisissez d'abord l'ancien nombre, puis le nouveau. La différence est divisée par l'ancien nombre : le résultat est positif en cas de hausse et négatif en cas de baisse.
Comment retirer un pourcentage déjà inclus dans un prix ?
Utilisez l'option inverse : elle divise le total par un plus le pourcentage et vous rend le montant d'origine. Soustraire directement le pourcentage du total donne un chiffre trop faible.
Pourquoi une hausse et une baisse du même pourcentage ne s'annulent-elles pas ?
Parce que la baisse s'applique à une base déjà augmentée. Une valeur qui monte de 20 % puis baisse de 20 % termine en dessous de son point de départ.
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/percentage \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"mode":"of","percent":20,"value":150}'const res = await fetch("https://api.kit.forhosting.com/dev/percentage", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"mode": "of",
"percent": 20,
"value": 150
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/percentage",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"mode": "of",
"percent": 20,
"value": 150
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/percentage", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"mode":"of","percent":20,"value":150}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"mode":"of","percent":20,"value":150}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/percentage", 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
{
"mode": "of",
"percent": 20,
"value": 150
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.percentage",
"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_abs | 1000000000000000 |
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
Les six modes et leurs formules
Le champ mode sélectionne l'un des six calculs. mode="of" renvoie value * percent / 100 (par ex. 20 % de 150 = 30). mode="is" renvoie a / b * 100, le pourcentage que a représente de b. mode="change" renvoie (b - a) / a * 100, la variation en pourcentage d'une ancienne valeur a à une nouvelle valeur b. mode="increase" renvoie à la fois delta = value * percent / 100 et result = value * (1 + percent/100). mode="decrease" renvoie delta et result = value - delta. mode="reverse" renvoie value / (1 + percent/100), qui récupère le montant de base avant l'ajout d'un pourcentage, utile pour retirer une marque ou une taxe déjà intégrée à un chiffre. Chaque mode reprend ses entrées dans la réponse JSON à côté du résultat calculé, de sorte que la charge utile se décrit d'elle-même.
Entrées, arrondi et champs requis par chaque mode
of/increase/decrease/reverse lisent percent et value ; is et change lisent les opérandes a et b.
Validation, division par zéro et erreurs typées
Une entrée manquante ou non objet, un nombre non fini, une valeur decimals hors de 0..10, ou une magnitude hors plage sont toutes interceptées avant que l'arithmétique ne s'exécute. Une chaîne mode inconnue est rejetée d'emblée. Une entrée incorrecte déclenche une erreur typée invalid_input avec un message nommant le champ, jamais un plantage non typé. Trois modes se prémunissent contre la division par zéro : mode="is" rejette b=0, mode="change" rejette une ancienne valeur a=0, et mode="reverse" rejette un pourcentage de -100 (qui rend 1 + percent/100 nul).
Cas d'intégration
Remises et marques
Utilisez mode=of pour un montant de remise, ou mode=reverse pour récupérer un prix de base avant marque à partir d'un total.
Reporting de croissance et de variation
Alimentez d'anciens et de nouveaux chiffres dans mode=change pour rapporter la variation en pourcentage d'une période à l'autre dans les tableaux de bord.
Proportions et parts
mode=is répond à quel pourcentage un nombre représente d'un autre, par ex. un compte terminé par rapport à un total.
Questions techniques
Que fait le mode inverse ?
Il renvoie value / (1 + percent/100), récupérant le montant de base avant l'ajout d'un pourcentage, comme retirer une taxe ou une marque incluse.
De quels champs chaque mode a-t-il besoin ?
of, increase, decrease et reverse utilisent percent et value ; is et change utilisent les opérandes a et b. Les autres sont ignorés.
Quand obtiens-je une erreur ?
Vous obtenez une erreur typée invalid_input pour des nombres non finis, un decimals hors de 0..10, des magnitudes supérieures à 1e15, ou une division par zéro (b=0 dans is, a=0 dans change, -100 % dans reverse).
Est-ce gratuit et combien coûte l'API ?
Le widget de navigateur est gratuit ; l'API fonctionne sur solde KIT prépayé à partir de $0.002 et les tâches échouées ne sont pas facturées.