Doppelrabatt-Rechner
Ein Preis von 100 mit 20 % Rabatt und danach weiteren 10 % endet bei 72: Sie sparen 28 statt 30, weil der zweite Rabatt nur auf die verbleibenden 80 wirkt. Geben Sie Ausgangspreis und beide Rabatte in der richtigen Reihenfolge ein. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Preis
- 100
- Erster Rabatt
- 20
- Zweiter Rabatt
- 10
- Preis nach dem ersten
- 80
- Endpreis
- 72
- Ersparnisse
- 28
- Äquivalenter Prozentsatz
- 28
Wer einkauft, sieht selten nur eine einzige Abschrift. Auf einen ladenweiten Sale folgt ein Coupon, ein Extra-Prozentsatz für Mitarbeitende sitzt auf einem Restposten-Schild, oder ein Marktplatz stapelt den Verkäuferrabatt und danach einen seitenweiten Code. Die beiden Prozentsätze zu addieren, bläht das Angebot auf: zwanzig Prozent und dann zehn sind nicht dreißig Prozent Nachlass, weil der zweite Schnitt nur das trifft, was übrig bleibt. Dieser Doppelrabatt-Rechner nimmt den ursprünglichen Preis und zwei aufeinanderfolgende Prozentabschläge, wendet sie der Reihe nach an und liefert den Endpreis zusammen mit der Gesamtersparnis, damit ein Warenkorb, ein Angebotsbeitrag oder ein Budget die gestapelte Zahl vor dem Bezahlen festhält. Null Prozent in jedem Schritt lässt diesen Schritt unverändert; einhundert Prozent in jedem Schritt setzt den Restsaldo auf null.
Wie sich zwei aufeinanderfolgende Rabatte tatsächlich zusammensetzen
Zwei aufeinanderfolgende Prozentabschläge sind nicht dasselbe wie ein einziger kombinierter Prozentsatz. Ein Händler druckt zwanzig Prozent, dann nimmt ein Coupon weitere zehn Prozent von dem, was bleibt; ein Mitarbeiter-Extra sitzt auf einem Restposten-Schild; ein Marktplatz stapelt den Verkäuferschnitt und danach einen seitenweiten Code. Zwanzig und zehn zu addieren und das Angebot dreißig Prozent zu nennen, überzeichnet die Ersparnis, weil der zweite Schnitt den Ursprungspreis nie sieht.
Null Prozent in jedem Schritt ist ein legitimes Ergebnis und lässt diesen Schritt unverändert statt eines Fehlers: ein SKU, das nur eines der beiden Angebote trägt, gehört weiterhin in einen Vergleichswarenkorb. Einhundert Prozent in jedem Schritt setzt den Restsaldo auf null: das Ergebnis dieses Schritts ist null und spätere Schritte bleiben null. Sie liefern drei Zahlen; der Rechner multipliziert sie der Reihe nach und rundet jede Geldbetragsziffer auf zwei Dezimalstellen, damit Goldens byteweise über Laufzeiten hinweg übereinstimmen.
Wo ein Doppelrabatt-Rechner seinen Platz verdient
Haushalte, die einen ladenweiten Sale mit einem ausgeschnittenen Coupon stapeln, nutzen einen Doppelrabatt-Rechner, um das Originalticket in einen vergleichbaren Endpreis zu verwandeln, bevor sie den Artikel in den Warenkorb legen. Produktteams verdrahten denselben Vertrag in Landingpages und E-Mail-Teaser, die einen gestapelten Aktionspreis für ein Muster-SKU zeigen müssen, ohne eine Promotion-Engine aufzurufen.
Das ist eine andere Suche und eine andere Aufgabe als ein generischer Rabattrechner, ein Netto-Preisfaktor eines Großhandels-Kettenrabatts, der Cyber Monday und ein effektiver Zwei-für-eins-Prozentsatz: jene Werkzeuge berechnen eine gewöhnliche Abschrift, eine handelsübliche Kaskade variabler Länge auf das NPF, ein benanntes Eintagesereignis oder einen äquivalenten Zwei-für-eins-Satz. Ein Doppelrabatt-Rechner bewertet einen Ursprungsbetrag gegen genau zwei aufeinanderfolgende Prozentsätze und liefert den Endpreis plus das auf diesem Stapel gesparte Geld. Fehlgeschlagene Prüfung wird nicht berechnet.
Ein dritter Coupon, Gratisversand-Schwellen und Umsatzsteuer bleiben absichtlich außerhalb dieser Identität: falten Sie sie in Ihrer eigenen Schicht ein, nachdem Sie den rohen Endpreis und das gesparte Geld haben. Die Reihenfolge der beiden Sätze ändert das ungerundete Produkt nicht, aber die Geldrundung nach dem ersten Schritt kann einen Cent verschieben, wenn Sie sie tauschen, also senden Sie sie in der Reihenfolge, in der die Kasse sie anwenden wird.
Anwendungsfälle
Ein Mitarbeiter-Extra auf einem bereits reduzierten Artikel vorab sehen
Wenden Sie zuerst den Restposten-Prozentsatz und danach das Mitarbeiter-Extra an und nageln Sie savings fest, damit die Gehaltsstelle oder ein Mitarbeiterladen den gestapelten Preis nennen kann.
Häufige Fragen
Warum sind zwanzig Prozent und dann zehn nicht dreißig Prozent Nachlass?
Der zweite Rabatt trifft nur das, was nach dem ersten übrig bleibt. Auf 100 lassen zwanzig Prozent 80; zehn Prozent von 80 sind 8; der Endpreis ist 72, also beträgt die Ersparnis 28 (ein Äquivalent von 28 Prozent), nicht 30.
Was geschieht, wenn ein Rabatt 100 Prozent übersteigt?
Ein aufeinanderfolgender Rabatt, der 100 Prozent übersteigt, wird nicht berechnet.
Worin unterscheidet sich das von einem Kettenrabatt oder einem Einzelrabatt-Rechner?
Ein generischer Rabattrechner nimmt einen einzigen Prozentsatz. Ein Kettenrabatt-Werkzeug nimmt eine Großhandelskaskade variabler Länge und liefert einen Netto-Preisfaktor. Dieser Rechner sind genau zwei aufeinanderfolgende Einzelhandelsprozentsätze plus Gesamtersparnis.
Spielt die Reihenfolge der beiden Rabatte eine Rolle?
Für das exakte Ergebnis nicht: Die beiden Prozentsätze multiplizieren sich in jeder Reihenfolge gleich. Das Runden auf Cent nach dem ersten Schritt kann den Endpreis aber um einen Cent verschieben; geben Sie sie daher in der Reihenfolge der Kasse ein.
Was passiert, wenn ein Rabatt 0 % oder 100 % beträgt?
Ein Schritt mit 0 % lässt den Preis unverändert, sodass sich auch Artikel mit nur einem Angebot vergleichen lassen. Ein Schritt mit 100 % setzt den Restpreis auf null, und der folgende Schritt bleibt bei null.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/fin/double-discount \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"price":100,"first_discount":20,"second_discount":10}'const res = await fetch("https://api.kit.forhosting.com/fin/double-discount", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"price": 100,
"first_discount": 20,
"second_discount": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/double-discount",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"price": 100,
"first_discount": 20,
"second_discount": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/double-discount", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"price":100,"first_discount":20,"second_discount":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"price":100,"first_discount":20,"second_discount":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/double-discount", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"price": 100,
"first_discount": 20,
"second_discount": 10
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.double_discount",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Ein Rabatt, der einhundert Prozent übersteigt, wird als invalid_input zurückgewiesen und nicht berechnet.
Wie sich zwei aufeinanderfolgende Rabatte tatsächlich zusammensetzen
Die Identität, die dieser Rechner verwendet, ist final_price gleich price mal eins minus first_discount geteilt durch einhundert, mal eins minus second_discount geteilt durch einhundert. Die erste Abschrift erzeugt ein Zwischen-price_after_first, das anschließend um den zweiten Satz vermindert wird. Die Gesamtersparnis ist der Ursprungspreis minus dieses final_price, was dem price mal dem äquivalenten kombinierten Prozentsatz entspricht, sobald die Geldrundung auf jedem Schritt so angewandt wird, dass die Teile wieder zur Liste aufaddieren. price ist der Ursprungsbetrag in einer Währung; first_discount und second_discount sind die beiden beworbenen Sätze, so getippt, wie Banner sie drucken, sodass zwanzig zwanzig Prozent bedeutet, nicht zwanzig Hundertstel. Der einzige Prozentsatz, der zum gestapelten Ergebnis passen würde, wird außerdem als equivalent_percent zurückgegeben, damit eine Tabelle eine Zahl neben den beiden Prozentsätzen behalten kann, die Menschen tippen. Ein Rabatt, der einhundert Prozent übersteigt, ist in diesem Vertrag keine Abschrift und wird als invalid_input zurückgewiesen, weil ein Banner, das einhundertzwanzig Prozent Nachlass druckt, fast immer ein Datenfehler ist, kein Rabatt, den Sie modellieren wollten. Dieser Endpunkt kratzt keine Händlerkataloge, fügt keinen dritten Coupon auf die zwei Prozentsätze, die Sie senden, addiert weder Umsatzsteuer noch Versand und rechnet keine Währungen um.
Eingabevertrag, Antwortform und Fehlerverhalten
Null Prozent in einem Schritt ist gültig und lässt den Betrag dieses Schritts unverändert. Einhundert Prozent in einem Schritt ist gültig und setzt den Restpreis auf null. Senden Sie per POST einen JSON-Körper mit drei erforderlichen endlichen Zahlen. price ist der Ursprungsbetrag in einer Währungseinheit vor jedem der beiden aufeinanderfolgenden Rabatte; die Aliase original_price, list_price, original und amount zeigen auf dasselbe Feld, damit ein Katalogexport die Spaltennamen behalten kann. first_discount ist der erste aufeinanderfolgende Nachlasssatz, angewandt auf den Ursprungspreis, kein Bruch: zwanzig bedeutet zwanzig Prozent; die Aliase first_percent, discount1, first und percent1 werden akzeptiert. second_discount ist der zweite aufeinanderfolgende Satz, angewandt auf das, was nach der ersten Abschrift bleibt; die Aliase second_percent, discount2, second und percent2 werden akzeptiert. Jedes Zahlenfeld kann als JSON-Zahl oder als numerische Zeichenkette ankommen. Fehlende Felder, leere Zeichenketten und nicht-endliche Werte scheitern mit invalid_input unter Nennung des Feldes. Bei Erfolg wiederholt der Körper price auf zwei Dezimalstellen gerundet, first_discount und second_discount, meldet dann price_after_first als den Betrag nach nur der ersten Abschrift, final_price als die Bezahlziffer nach beiden Schnitten auf zwei Dezimalstellen gerundet, savings als price minus final_price, equivalent_percent als den einzigen Prozentsatz, der zum gestapelten Ergebnis passen würde, und eine formula-Zeichenkette, die die Identität bekräftigt. Beispiel: einhundert bei zwanzig und dann zehn ergibt price_after_first von achtzig, final_price von zweiundsiebzig, savings von achtundzwanzig und equivalent_percent von achtundzwanzig. Verknüpfen Sie das JSON mit Ihrer eigenen Regel, welche SKUs diese beiden Sätze teilen — ladenweit plus Coupon, Restposten plus Mitarbeiter-Extra oder Verkäuferschnitt plus Seitencode —, denn dieser Endpunkt multipliziert die drei Zahlen, die Sie senden; er schlägt keinen Händler nach, wendet keinen dritten Coupon an und rechnet keine Währungen um. Halten Sie Anfragen klein, nageln Sie das gerundete final_price in Tests fest, und Sie erhalten eine reproduzierbare Stapelziffer für Tabellen, LMS-Erweiterungen und Edge-Worker, ohne eine eigene Promotion-Engine aufzubauen.
Wo ein Doppelrabatt-Rechner seinen Platz verdient
Redaktionen von Deal-Seiten setzen eine veröffentlichte Liste und die beiden beworbenen Prozentsätze ein und nageln final_price und savings fest, damit ein Beitrag keine erfundene Dreißig-Prozent-Zahl zitiert, die später vom Bezahlen abweicht. Weil die Implementierung reines parse der Stufe A ist, kostet jeder erfolgreiche Aufruf den veröffentlichten Grundpreis $0.002 ohne Modell-Token und ohne ausgehendes Netz. Halten Sie beide Rabatte zwischen null und einhundert einschließlich, nageln Sie das gerundete final_price in Tests fest, und Sie erhalten eine reproduzierbare Stapelziffer für Teaser, Warenkörbe und Edge-Worker, ohne eine eigene Promotion-Engine aufzubauen.
Integrationsbeispiele
Einen ladenweiten Sale mit einem Coupon vor dem Bezahlen stapeln
Verwandeln Sie das Originalticket plus zwei beworbene Prozentsätze in final_price, damit ein Stapel von zwanzig und dann zehn nicht als falsche dreißig Prozent Nachlass zitiert wird.
Einen Angebotsbeitrag gegen zwei veröffentlichte Abschriften prüfen
Setzen Sie die Liste von der Händlerseite und beide Prozentsätze ein und bestätigen Sie, dass final_price und savings der gestapelten Zahl entsprechen, die Sie gleich veröffentlichen.
Technische Fragen
Darf einer der beiden Rabatte null oder einhundert Prozent sein?
Ja. Null Prozent lässt diesen Schritt unverändert. Einhundert Prozent setzt den Restpreis auf null, sodass final_price 0 ist und die Ersparnis dem Ursprungspreis entspricht.
Was kostet der Doppelrabatt-Rechner?
Das Browserwerkzeug ist kostenlos. API-Anfragen nutzen vorausbezahltes KIT-Guthaben zu $0.002 je erfolgreichem Aufruf; ungültige Eingabe wird nicht berechnet.