【问题标题】:Calculate percentage in javascript在javascript中计算百分比
【发布时间】:2021-06-26 02:02:08
【问题描述】:

我正在尝试用 javascript 进行计算。计算的某些部分不起作用。

我想计算折扣后的总价。例如: 当价格 = 10.00 并且折扣 = 50 (%)

我需要计算:10.00 * 0,50

所以我需要这样的东西:

 var totalValue = numVal1 / 0, numVal2

当我这样做时,脚本不起作用。我该如何解决这个问题?

这是我的完整代码:

function getPrice() {         
 var numVal1 = Number(document.getElementById("price").value);
 var numVal2 = Number(document.getElementById("discount").value);

 var totalValue = numVal1 / numVal2
 document.getElementById("total").value = totalValue.toFixed(2);
}

【问题讨论】:

  • 我认为您要查找的内容与此类似? var totalValue = numVal1 * (numVal2/100)
  • totalValue = price * (100 - discount) / 100price=numVal1discount = numVal2
  • 我要找的东西需要计算 10.00 * 0,50
  • 折扣是百分比
  • 折扣真的是 0,5(零逗号五)吗?我知道那是欧洲的。我想你可能想看这里:stackoverflow.com/questions/5314237/…

标签: javascript


【解决方案1】:

所以你有一个价格(10)和一个折扣(50)

FinalPrice = price * (100-discount / 100) = 10 * ( 100-50 / 100 ) = 10 * 0.5 = 10 * 50%

所以

function getPrice() {         
 var numVal1 = Number(document.getElementById("price").value);
 var numVal2 = Number(document.getElementById("discount").value);

 var totalValue = numVal1 * ( (100-numVal2) / 100 )
 document.getElementById("total").value = totalValue.toFixed(2);
}

【讨论】:

    【解决方案2】:

    我认为您没有正确计算价值,应该是:

    var totalValue = numVal1 *(numVal2/100);
    

    【讨论】:

      【解决方案3】:

      要获得百分比,您需要将折扣除以 100 再乘以价格。

      例如,我买了一些鞋子,正常价格是 50 英镑,但这是打折销售,因此可享受 75% 的折扣。 所以我们需要计算出 50 的 75%,然后把它去掉。

      50 - (50 * 75 / 100) 或 50 - (50 * 0.75)

      (这双鞋才 12.50 英镑……便宜!)

      我会选择类似的东西:

      getPrice = function() {
        var numVal1 = Number(document.getElementById("price").value);
        var numVal2 = Number(document.getElementById("discount").value) / 100;
      
        var totalValue = numVal1 - (numVal1 * numVal2)
        document.getElementById("total").value = totalValue.toFixed(2);
      }
      <input id="price">
      <br>
      <input id="discount">%
      <br>
      <button onclick="getPrice()">
        Get total
      </button>
      <br>
      <input readonly id="total">

      【讨论】:

      • 已经是百分比了。您所做的是将其转换为小数。
      【解决方案4】:

      你不能指望 JavaScript 理解 0, numVal2 应该被推断为一个浮点数。逗号在 JavaScript 中有自己的含义。相反,您应该将numVal2 视为百分比(确实如此)并执行以下操作:

      var totalValue = numVal1 / (numVal2 / 100);
      

      【讨论】:

        【解决方案5】:
        var result =  (numVal1 -numVal2 )/numVal1;
        var result2 = result*100;
        

        【讨论】:

          猜你喜欢
          • 2019-04-03
          • 2015-09-04
          • 2017-02-08
          • 1970-01-01
          • 2015-09-07
          • 2012-09-20
          • 2011-06-01
          • 2021-01-10
          相关资源
          最近更新 更多