You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

电商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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 15:50:20