现有百分比折扣计算脚本如何添加二次折扣?求脚本公式
二次折扣的计算逻辑与修改后的脚本
首先拆解你现有脚本的计算逻辑:
你当前的首次折扣公式可以简化为:
原价 = $r->jual * $r->jumlah; 首次折扣后价格 = 原价 * (1 - $r->diskon / 100);
对应的最终输出就是这个首次折扣后的价格。
要添加二次折扣,逻辑是在首次折扣后的价格基础上再应用一次百分比折扣,完整公式为:
最终价格 = 原价 * (1 - 首次折扣/100) * (1 - 二次折扣/100);
假设你的二次折扣字段名为$r->diskon2(可根据实际数据库字段名调整),修改后的脚本如下:
<td>Rp<?= number_format((($r->jual * $r->jumlah) * (1 - $r->diskon/100) * (1 - $r->diskon2/100)) ?? 0); ?>,-</td>
如果需要保留分步计算的写法(更易读),也可以拆成:
<td>Rp<?= $originalPrice = $r->jual * $r->jumlah; $firstDiscounted = $originalPrice * (1 - $r->diskon/100); $finalPrice = $firstDiscounted * (1 - $r->diskon2/100); number_format($finalPrice ?? 0); ?>,-</td>
注意
- 确保
$r->diskon2字段存在且能正确获取到二次折扣的百分比数值(比如折扣10%就存10,不是0.1) ?? 0用于处理字段为空或未定义的情况,避免计算出错
内容的提问来源于stack exchange,提问作者riqtarunk
相关产品推荐
相关产品推荐

