2017-04-24 461 views
-1

嗨,我试图将英镑转换为欧元。但我似乎无法得到正确的百分比。我已经尝试了几种方法,但没有运气。这个想法是获得英镑价格的1%,然后再乘以兑换率,并将其加到英镑价格中,使欧元汇率总和,然后用增值税进行兑换。 希望有人能帮助,谢谢! 这是我的代码。将英镑转换为欧元时的百分比

var input = document.querySelectorAll('input'); 
 
    var conversionRate = input[0]; 
 
    var sterling = input[1]; 
 
    var vat = input[2]; 
 
    var euro = input[3]; 
 

 
    init(); 
 

 
    function init() { 
 
     calculateKeyUp(); 
 
    } 
 

 
    function calculateKeyUp() { 
 
     for (var i = 0; i < input.length; i++) { 
 
      input[i].addEventListener("keyup", function() { 
 
       //var totalLessVat = (sterling.value) + (conversionRate.value * (sterling.value/100)); 
 
       var sterling1Per = sterling.value/100; 
 
       var convert = sterling1Per * conversionRate.value; 
 
       var totalLessVat = convert + sterling.value; 
 
       //var total = (totalLessVat) + (vat.value * (totalLessVat/100)); 
 
       var euro1Per = totalLessVat/100; 
 
       var addVat = euro1Per * vat.value; 
 
       var total = addVat + totalLessVat; 
 
       euro.value = Math.floor(total); 
 
      }); 
 
     } 
 
    }
<div id="calculator-form"> 
 
    <table> 
 
     <tr> 
 
      <td>Conversion Rate: </td> 
 
      <td><input type="number" id="conversionRate"> %</td> 
 
     </tr> 
 
     <tr> 
 
      <td>Sterling Price: </td> 
 
      <td><input type="number" id="sterling"> &pound;</td> 
 
     </tr> 
 
     <tr> 
 
      <td>Vat: </td> 
 
      <td><input type="number" id="vat"> %</td> 
 
     </tr> 
 
     <tr> 
 
      <td>Euro Price is </td> 
 
      <td><input type="number" id="euro" disabled> &euro;</td> 
 
     </tr> 
 
    </table> 
 
</div> 
 

 

+0

你会介意添加一个片段,以便我们可以运行该程序吗? –

回答

0

输入的.value将是一个String,所以你需要解析数出你正在使用的每个输入。如果它是一个int你可以使用:

var sterling1Per = parseInt(sterling.value, 10)/100; 

如果它是浮动,你可以使用:

var sterling1Per = parseFloat(sterling.value)/100; 

任何地方,您使用的需要是需要相应地解析

一些输入 .value
+0

乘法/除法很好,它是会有问题的附加行。 – epascarello

+0

@epascarello好点。我删除了用乘法指出特定行的部分,而是使用'parseInt'和'parseFloat'提供更一般的建议。 –

+0

感谢人们让我朝着正确的方向发展!我只是假设它得到的是这个问题的百分比,但是当然只是将这些字符串附加在一起。所以我使用了+ sterling.value + ...,这是完美的! – SureWeb