我正在写一些类似于优惠券代码的功能,并希望能够处理设定金额代码以及百分比金额。
我的代码如下;
$amount = "25"; // amount of discount
$percent = "yes"; // whether coupon is (yes) a percentage, or (no) a flat amount
if($percent == "yes"){
$newprice = ???????; // subtract $amount % of $price, from $price
}else{
$newprice = $price - $amount; // if not a percentage, subtract from price outright
}
我正在搜索谷歌,因为你正在阅读这个寻找解决方案,但我想在这里发布它也可以帮助其他可能遇到同样问题的人。
答案 0 :(得分:42)
这个怎么样?
$newprice = $price * ((100-$amount) / 100);
答案 1 :(得分:6)
我会去
$newprice = $price - ($price * ($amount/100))
答案 2 :(得分:5)
要获得一个数字的百分比,您可以乘以所需百分比的小数。例如,如果你想要25%的折扣,你可以乘以.75,因为你希望它的价格是原价的75%。要为您的示例实现此功能,您需要执行以下操作:
if($percent == "yes"){
$newprice = ($price * ((100-$amount) / 100)); // subtract $amount % of $price, from $price
}else{
$newprice = $price - $amount; // if not a percentage, subtract from price outright
}
这是做什么的:
答案 3 :(得分:4)
除了基础数学,我还建议您考虑使用round()强制结果有2位小数。
$newprice = round($price * ((100-$amount) / 100), 2);
通过这种方式,24美元的24.99美元折价将产生18.7425,然后四舍五入到18.74
答案 4 :(得分:2)
$price -= ($percent == 'yes' ? ($price * ($amount / 100)) : $amount);