Calcolatore di sconto
Veda quanto pagherà davvero con uno sconto percentuale: il 15% su 19,99 fa risparmiare 3,00 e porta il prezzo a 16,99, esatto al centesimo. Utile per promozioni, anteprime del pagamento e compiti. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Prezzo
- 100.00
- Percentuale
- 10
- Importo dello sconto
- 10.00
- Prezzo finale
- 90.00
Acquirenti e negozi cercano un calcolatore di sconto che trasformi prezzo originale e percentuale in risparmio e prezzo finale chiari.
Dal prezzo e dalla percentuale al risparmio e al prezzo finale
Chi compra e chi vende ha spesso bisogno delle stesse due risposte: quanto toglie uno sconto percentuale e quanto resta da pagare. Inserisca il prezzo originale e la percentuale di sconto, e il calcolatore restituisce l'importo dello sconto e il prezzo finale. Un prezzo di 100,00 con il 10% di sconto dà 10,00 di sconto e un prezzo finale di 90,00; 19,99 con il 15% dà 3,00 e 16,99. I negozi lo usano per controllare i prezzi prima di pubblicare una promozione, le pagine di pagamento per mostrare il risparmio di un coupon a percentuale semplice, gli studenti per verificare esercizi con risposte esatte al centesimo.
Perché ogni risultato è esatto al centesimo
Il prezzo viene prima trasformato in centesimi interi, così nessuna frazione di centesimo entra nel calcolo. Lo sconto è il prezzo in centesimi per la percentuale diviso per 100, arrotondato per eccesso a metà, e poi viene sottratto dal prezzo originale per ottenere il prezzo finale. Questo corrisponde all'arrotondamento abituale del commercio, e i due importi escono sempre con esattamente due decimali. Perché il risultato sia affidabile, il prezzo deve avere al massimo due decimali o essere intero, senza zeri iniziali né segno più, e la percentuale deve essere un intero da 0 a 100. Il resto viene rifiutato invece di essere corretto in silenzio.
Half-up al centesimo
discount = half-up di prezzo×percent/100 in centesimi; final = prezzo − sconto. Es.: 19.99 al 15% → sconto 3.00 e finale 16.99, allineato all'arrotondamento commerciale comune.
Casi d'uso
Promo
Mostra prezzi finali di campagne percentuali.
Checkout
Stima il risparmio di coupon semplici.
Studio
Controlla esercizi di sconto al centesimo.
Domande frequenti
Come si calcola uno sconto del 15% su 19,99?
Inserisca 19,99 come prezzo e 15 come percentuale. Lo sconto è di 3,00 e il prezzo finale di 16,99, arrotondati al centesimo come fa la maggior parte dei negozi.
Come viene arrotondato lo sconto?
Al centesimo, per eccesso quando cade esattamente a metà. Il calcolo avviene in centesimi interi, perciò il 15% di 19,99 dà uno sconto di 3,00 esatti.
Quali percentuali di sconto posso inserire?
Numeri interi da 0 a 100. Una percentuale con decimali, o fuori da questo intervallo, viene rifiutata con un messaggio chiaro invece di essere corretta senza avviso.
Come devo scrivere il prezzo?
Con al massimo due decimali, come 19,99, oppure come numero intero. Zeri iniziali, segno più o più di due decimali vengono rifiutati, così un errore di battitura non cambia il risultato.
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/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)Esempio di richiesta
{
"price": "100.00",
"percent": 10
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.discount_calculator",
"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_price_cents | 999999999999999 |
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
Ingresso denaro canonico
Invia il prezzo come stringa con 1–2 decimali o intero non negativo. Rifiuta float, zeri iniziali e più di due decimali.
Percentuale da 0 a 100
Lo sconto è intero 0…100. Stringhe di sole cifre accettate. Float, bool e fuori intervallo danno invalid_input tipizzato invece di un clamp silenzioso.
Uscite stabili
price, discount_amount e final_price sono stringhe a due decimali; percent intero. Campi mancanti e negativi danno invalid_input con sottostringhe stabili.
Casi di integrazione
CI
Assert discount e final nei golden.
Domande tecniche
Arrotondamento?
Half-up al centesimo.
Float?
No; stringa o intero.
Intervallo %?
Interi 0–100.
Uscita float?
No; stringhe NN.NN.
Prezzo negativo?
invalid_input.
Gratis?
Sì nel browser; app $0.002.