电商APP同品买二赠一规则下如何修改总价计算逻辑?
买二赠一活动总价计算代码修改方案
核心逻辑说明
买二赠一的规则本质是:每3件同款商品中,仅需支付2件的费用,即总付费件数 = 总购买数量 - (总购买数量 // 3)。举几个实际场景的计算示例:
- 购买3件:付费件数=3-1=2件
- 购买4件:付费件数=4-1=3件
- 购买6件:付费件数=6-2=4件
修改后的代码
// 获取当前商品的有效单价(优先取促销价,无促销则取原价) double usedPrice = getCurrentProduct.isOnSale ? getCurrentProduct.salePrice : double.parse(getCurrentProduct.price); // 将购买数量解析为整数类型 int purchaseCount = int.parse(counter.toString()); // 计算实际需要付费的件数:每3件免1件,用整数除法算出可免费的件数 int paidCount = purchaseCount - (purchaseCount ~/ 3); // 计算符合活动规则的最终总价 double totalPrice = usedPrice * paidCount;
关键代码解释
purchaseCount ~/ 3:通过整数除法,计算出购买数量中包含多少组"3件",每组对应1件免费商品,比如3件得1、6件得2。paidCount = purchaseCount - (purchaseCount ~/ 3):总购买数量减去免费件数,得到实际需要付费的商品数量。- 最终用有效单价乘以付费件数,得到符合买二赠一规则的总价。
内容的提问来源于stack exchange,提问作者Yousif 304
相关产品推荐
相关产品推荐

