Calcolatore di percentuali
Le sei domande sulle percentuali più frequenti in un unico posto: quanto fa il 20% di 150 (30), che parte rappresenta un numero di un altro, quanto è salito o sceso un valore e quanto costava prima di un ricarico. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Valore
- 150
- Calcolo
- X% di un valore
- Percentuale (%)
- 20
- Risultato
- 30
Calcola le percentuali in sei modalità a partire da input numerici: percentuale di un valore, quale percentuale un numero rappresenta di un altro, variazione percentuale tra due numeri, un aumento o una diminuzione percentuale e inverso (rimuovere una percentuale aggiunta). Arrotondato half-up a un numero di decimali scelto.
Le sei domande dietro quasi ogni percentuale
Quasi ogni calcolo con le percentuali è una di sei domande. Quanto fa il 20% di 150? Che percentuale rappresenta un numero di un altro, come un voto su un totale? Di quanto è cambiato un prezzo o uno stipendio? Quanto resta dopo un aumento o uno sconto? E quella che inganna di più: quanto valeva qualcosa prima che gli si aggiungesse una percentuale, come una tassa o un margine? C'è un'opzione per ciascuna, così lei sceglie la domanda invece di riscrivere una formula.
Gli errori classici con le percentuali
Un aumento seguito da uno sconto della stessa percentuale non riporta al punto di partenza, perché lo sconto si calcola su una base più grande. Togliere una tassa non significa sottrarre la sua aliquota: bisogna dividere per uno più l'aliquota, ed è ciò che fa l'opzione inversa. La variazione percentuale usa sempre il valore vecchio come base, quindi l'ordine dei due numeri conta. I risultati sono arrotondati ai decimali che lei sceglie, due per impostazione predefinita.
Input, arrotondamento e quali campi serve ogni modalità
Il campo facoltativo decimals vale 2 per impostazione predefinita e deve essere un intero da 0 a 10. Ogni campo numerico deve essere un numero finito; le grandezze superiori a 1e15 vengono respinte come fuori intervallo per mantenere i risultati significativi e la scheda reattiva. La risposta restituisce il risultato numerico grezzo (e delta per increase/decrease), mai una stringa formattata, così che il codice a valle possa proseguire i calcoli senza rianalizzare.
Domande frequenti
Come viene gestito l'arrotondamento?
Half-up sul valore calcolato ai decimali scelti (da 0 a 10, predefinito 2), applicato per grandezza così che i negativi arrotondino allontanandosi da zero.
Come si calcola il 20% di 150?
Scelga l'opzione percentuale di un valore, inserisca 20 come percentuale e 150 come valore: il risultato è 30. Funziona allo stesso modo per una mancia, una provvigione o qualsiasi parte di un totale.
Come si calcola l'aumento percentuale tra due numeri?
Usi la variazione percentuale e inserisca prima il numero vecchio e poi quello nuovo. La differenza viene divisa per il numero vecchio, quindi il risultato è positivo se è salito e negativo se è sceso.
Come si toglie una percentuale già inclusa in un prezzo?
Usi l'opzione inversa: divide il totale per uno più la percentuale e restituisce l'importo originale. Sottrarre direttamente la percentuale dal totale dà una cifra più bassa di quella corretta.
Perché un aumento e uno sconto della stessa percentuale non si annullano?
Perché lo sconto si calcola su una base già aumentata. Se un valore sale del 20% e poi scende del 20%, finisce sotto il punto di partenza.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"mode": "of",
"percent": 20,
"value": 150
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.percentage",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_abs | 1000000000000000 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Le sei modalità e le loro formule
Il campo mode seleziona uno di sei calcoli. mode="of" restituisce value * percent / 100 (ad esempio il 20% di 150 = 30). mode="is" restituisce a / b * 100, la percentuale che a rappresenta di b. mode="change" restituisce (b - a) / a * 100, la variazione percentuale da un vecchio valore a a un nuovo valore b. mode="increase" restituisce sia delta = value * percent / 100 sia result = value * (1 + percent/100). mode="decrease" restituisce delta e result = value - delta. mode="reverse" restituisce value / (1 + percent/100), che recupera l'importo di base prima che una percentuale venisse aggiunta, utile per rimuovere un ricarico o un'imposta già inglobati in una cifra. Ogni modalità riporta i propri input nella risposta JSON accanto al risultato calcolato, così che il payload sia autoesplicativo.
Input, arrotondamento e quali campi serve ogni modalità
of/increase/decrease/reverse leggono percent e value; is e change leggono gli operandi a e b.
Validazione, divisione per zero ed errori tipizzati
Un input mancante o non-oggetto, un numero non finito, un valore di decimals fuori da 0..10, o una grandezza fuori intervallo vengono tutti intercettati prima che venga eseguito il calcolo. Una stringa mode sconosciuta viene respinta senz'altro. Un input errato solleva un errore tipizzato invalid_input con un messaggio che nomina il campo, mai un crash non tipizzato. Tre modalità si proteggono dalla divisione per zero: mode="is" respinge b=0, mode="change" respinge un vecchio valore a=0, e mode="reverse" respinge una percentuale di -100 (che rende 1 + percent/100 uguale a zero).
Casi di integrazione
Sconti e ricarichi
Usi mode=of per l'importo di uno sconto, o mode=reverse per recuperare un prezzo di base pre-ricarico da un totale.
Rendicontazione di crescita e variazione
Fornisca le cifre vecchie e nuove a mode=change per riportare nelle dashboard la variazione percentuale periodo su periodo.
Proporzioni e quote
mode=is risponde a quale percentuale un numero rappresenta di un altro, ad esempio un conteggio completato rispetto a un totale.
Domande tecniche
Cosa fa la modalità inverso?
Restituisce value / (1 + percent/100), recuperando l'importo di base prima che una percentuale venisse aggiunta, come rimuovere un'imposta o un ricarico inclusi.
Quali campi serve ogni modalità?
of, increase, decrease e reverse usano percent e value; is e change usano gli operandi a e b. Gli altri vengono ignorati.
Quando ottengo un errore?
Ottiene un errore tipizzato invalid_input per numeri non finiti, decimals fuori da 0..10, grandezze superiori a 1e15, o divisione per zero (b=0 in is, a=0 in change, -100% in reverse).
È gratuito e quanto costa l'API?
Il widget del browser è gratuito; l'API funziona con saldo KIT prepagato a partire da $0.002 e le attività fallite non vengono addebitate.