【问题标题】:Price Calculation based on the distance covered根据覆盖距离计算价格
【发布时间】:2014-06-12 08:40:44
【问题描述】:

我需要计算价格 这就是我所拥有的

案例1: 如果汽车行驶 1-15 英里,则第一英里的价格为 3 英镑,之后每英里的价格为 1.60 英镑

所以对于这种情况,我是这样计算的

miles= 1-15
 rate=1.60;
  emile=miles-1;
  totalprice=miles*passenger*1.60+3;

案例2 如果汽车行驶 15-30 英里,那么价格将为 1.20 英镑/英里+以前的公式

所以对于这种情况,我是这样计算的

   rate=1.20;
    rate2=1.60;
    cmile=(miles-14)*rate;
    fmile=(14*rate2+3);
    totalprice=cmile+fmile;

案例 3:如果汽车行驶 30-50 英里,则价格将为 1.10 英镑/英里+前两个公式

现在我被困在这里我如何计算第三种情况

【问题讨论】:

  • £ 1.10/mile+both previous formula ..是什么意思?
  • 1.10/mile 加上前面的两个公式,这意味着 30-50 英里的 1.10/英里 + 公式 2(15-30 英里的 1.20/英里)+ 公式 1(这意味着3 为第一英里和 1.60/英里长达 15 英里)

标签: javascript jquery logic


【解决方案1】:

试试,

var kms = 10;

var price_1 = (kms > 0) ? 3 : 0; kms =  (kms > 0)? kms - 1 :  0;
var price_2 = (kms - 14) > 0 ? (14 * 1.60) : (kms * 1.60); kms = (kms-14)>0 ? kms - 14 : 0;
var price_3 = (kms - 15) > 0 ? (15 * 1.40) : (kms * 1.40); kms = (kms-15)>0 ? kms - 15 : 0;
var price_4 = (kms > 0) ? (kms * 1.20) : 0;


console.log('Total fare would be :' + (price_1 + price_2 + price_3 + price_4));

DEMO

【讨论】:

    【解决方案2】:

    CMIIW

    对于案例 3,由于汽车行驶了 29 英里,我们可以将案例 1 和 2 乘以它们的最大里程

    rate1 = 1.60; rate2 = 1.20;
    fmile = 14*rate1; //1 to 14
    smile = 15*rate2; //15 to 29
    

    对第三个公式做同样的事情,附加条件是 50 英里限制

    rate3 = 1.10;
    if (miles%50 < 1){
       tmile = (miles - 29)*rate3;
    }else{
       tmile = 20*rate3;
    }
    

    总结并加上固定价格

     totalprice = 3 + fmile + smile + tmile;
    

    【讨论】:

      【解决方案3】:
      var miles = 47;
      switch (miles) {
             if( miles > 0 && miles < 15)
              {
                  miles = miles*1;
              }
          if(miles > 15 && miles < 30)
              {
                  miles = ((miles-15)*1.5)+(15*1);
              }
              if( miles > 30 && miles < 50)
              {
                  miles = ((miles-30)*2)+(15*1.5)+(15*1);
              }
              if(miles > 50 && miles < 100)
              {
                  miles = ((miles-50)*2.5)+(20*2)+(15*1.5)+(15*1);
              }
      }
      alert(miles);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-02-13
        • 1970-01-01
        • 2019-04-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多