PHP中含供应商折扣与利润的正常售价计算问题
解决方法:计算无折扣时的正常售价
首先咱们把逻辑理清楚:正常售价是完全基于无折扣的原始采购价来计算的,和供应商的折扣没有关系——折扣只影响你拿到优惠后的采购成本,进而影响最终的优惠后售价,正常售价的计算逻辑是独立的。
正常售价的计算公式非常直接:正常售价 = 无折扣采购价 × (1 + 利润率)
代入你给出的参数就是:372.93 × 1.2 = 447.516,如果需要保留两位小数的话就是447.52。
接下来帮你修改PHP代码,补上正常售价的计算部分,同时优化了输出的格式:
<?php $discount = 5; $profit = 1.20; $purchase = 372.93; // 计算折扣后的采购价 $product_purchase = $purchase - ($purchase * ($discount / 100)); // 354.2835 // 计算无折扣时的正常售价 $product_sale = $purchase * $profit; // 447.516 // 计算含利润的最终售价(折扣后的采购价加利润) $product_sale_final = $product_purchase * $profit; // 425.1402 // 格式化输出为两位小数,更贴合业务场景 echo "Purchase (discounted): ".number_format($product_purchase, 2)."<br>"; echo "Product Sale (normal): ".number_format($product_sale, 2)."<br>"; echo "Product Sale Final: ".number_format($product_sale_final, 2)."<br>"; echo "Discount: ".$discount."%"; ?>
最后再明确下两个售价的核心区别:
- 正常售价:始终以原始无折扣采购价为基础叠加利润
- 优惠后最终售价:以折扣后的采购价为基础叠加利润
这样就能清晰区分两种场景的计算逻辑啦!
内容的提问来源于stack exchange,提问作者David Noriega
相关产品推荐
相关产品推荐

