Diskon adalah potongan yang dihitung dari harga tertulis. Yang dibayar = harga × (1 − d), dengan d ditulis sebagai desimal. Diskon 15% berarti membayar 85% dari harga, jadi pengalinya 0,85.
Diskon berantai adalah dua potongan yang dikenakan berurutan, misalnya potongan toko lalu potongan keanggotaan. Potongan kedua dihitung dari harga yang sudah turun, bukan dari harga awal, sehingga yang dibayar = harga × (1 − d₁) × (1 − d₂).
Contoh langkah demi langkah: harga Rp500.000 dengan diskon 25% lalu tambahan 10%. Langkah pertama, 500.000 × 0,75 = 375.000. Langkah kedua, 375.000 × 0,90 = 337.500. Langkah ketiga, total potongan 500.000 − 337.500 = 162.500, yaitu 32,5% dari harga awal — bukan 35%.
500.000 × 0,75 × 0,90 = 337.500
1 − 0,75 × 0,90 = 0,325 → diskon setara 32,5%
1 − 0,80 × 0,90 = 0,28 → 20% lalu 10% setara 28%, bukan 30%Diskon tunggal yang setara dihitung sekali: 1 − (1 − d₁)(1 − d₂). Hasilnya selalu lebih kecil daripada d₁ + d₂, dan selisihnya persis d₁ × d₂ — bagian harga yang sudah terpotong di langkah pertama lalu dipotong lagi di langkah kedua. Untuk 20% dan 10%, selisih itu 0,2 × 0,1 = 0,02, sehingga 30% menyusut menjadi 28%.
Pembulatan ke rupiah dilakukan sekali di akhir rantai, bukan di tiap langkah, supaya sisanya tidak menumpuk. Modul decimal di Python ada untuk keperluan yang sama: hitungan uang butuh aturan pembulatan yang ditetapkan.