【问题标题】:What is the calculation ratio?计算比例是多少?
【发布时间】:2020-09-08 14:07:17
【问题描述】:

我有以下规则:

如果您购买 2 件产品,则可免费获得 3 件:

  • 买1送0
  • 买二送三
  • 买三送三
  • 买4送6
  • 买5送6
  • 买6送9
  • 买7送9
  • 买8送12
  • 买9送12
  • 买10送15 .....

如果您购买 3 件产品,则可免费获得 2 件:

  • 买1送0
  • 买2送0
  • 买3送2
  • 买4送2
  • 买5送2
  • 买6送4
  • 买7送4
  • 买8送4
  • 买9送6
  • 买10送6 ...

我需要计算这个的公式。

对于“买 2 件产品送 3 件:”案例:

(数量/比例)*free_items 如果买 10 送 15 = (10/2)*3 = 5*3 = 15 - 这是正确的

但是: 如果买 3 送 3 = (3/2)*3 = 1.5*3 = 4.5 - 这是不正确的

有没有人可以帮我解决这个问题。

【问题讨论】:

  • 您有 2 条规则,因此您应该为每个规则使用单独的公式。
  • 我不知道你用的是什么语言,但是在你将购买的总数除以断点之后,你需要得到它的底值,然后再乘以奖励。在 C# 中,您可以将其转换为 int。

标签: php logic


【解决方案1】:

只需将除法的结果转换为整数:

youGet = intval( quantity/ratio ) * freeItems

我使用了intval() 函数,它将返回除法的整数部分。

【讨论】:

    【解决方案2】:

    除以需要购买的产品数量,向下舍入到零,然后乘以免费产品的数量。

    如果您购买$howmanybuy 产品,即可免费获得$howmanyfree

    $get = floor($quantity / $howmanybuy) * $howmanyfree;
    

    【讨论】:

      猜你喜欢
      • 2018-09-07
      • 1970-01-01
      • 2022-09-30
      • 2015-01-17
      • 2013-04-08
      • 1970-01-01
      • 2022-08-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多