2017-10-05 3 views
-4

JavaScript関数の1つで問題が発生しました。私は整数を整数で除算しようとしており、結果としてNaNを取得し続けています。私は読んだことがあり、さまざまな解決策を試みましたが、正しい答えを見つけることができませんでした。次のコードを見てください(必要な場合はロードしてください)。できれば修正できる方法を教えてください。ありがとうございます分割式:現在NaNを返します

<!doctype html> 
<html> 
<style> 
*:focus { 
outline: none; 
} 
@font-face { 
font-family: systems_analysis; 
src: url(systems_analysis.ttf); 
} 
@font-face { 
font-family: eufont; 
src: url('eufont.ttf'); 
} 
.button { 
background-color: white; 
color: black; 
border-radius: 6px; 
border: none; 
cursor: pointer; 
width: 400px; 
height: 20px; 
font-size: 15px; 
font-family: systems_analysis; 
box-shadow: 0 2px 4px 0 rgba(0,0,0,0.2), 0 1.5px 5px 0 rgba(0,0,0,0.19); 
} 
.button:hover { 
background-color: black; 
color: white; 
} 
.button:active { 
transform: translateY(1px); 
} 
.button:focus { 
outline:0 !important; 
} 
.balanceBox { 
background-color: transparent; 
color: white; 
font-family: arial; 
font-size: 40px; 
border: 1px transparent; 
text-align: center; 
width: 400px; 
} 
.priceBoxAltra { 
background-color: transparent; 
color: white; 
font-family: arial; 
font-size: 40px; 
border: 1px transparent; 
text-align: center; 
width: 225px; 
} 
.priceBoxBexa { 
background-color: transparent; 
color: white; 
font-family: arial; 
font-size: 40px; 
border: 1px transparent; 
text-align: center; 
width: 225px; 
} 
body { 
background-image: url("risefx_background.jpg"); 
} 
</style> 
<head> 
<title>RiseFX</title> 
</head> 
<body> 
<br> 
<br> 
<br> 
<br> 
<br> 
<br> 
<br> 
<br> 
<br> 
<br> 
<br> 
<br> 
<br> 
<br> 
<br> 
<br> 
<center> 
<span><input type="text" id="altraPrice" class="priceBoxAltra" value="1.00000"></span> 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; 
<span><input type="text" id="bexaPrice" class="priceBoxBexa" value="1.00000"></span> 
</center> 
<br> 
<br> 
<br> 
<br> 
<br> 
<br> 
<br> 
<br> 
<br> 
<br> 
<center> 
<input type="text" id="fxPrice" class="priceBoxAltra" value="0.00000"> 
</center> 
<br> 
<center> 
<span><input type="button" id="altraRoll" class="button" value="TRADE" onclick="altraFunction()"></span> 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp; 
<span><input type="button" id="bexaRoll" class="button" value="TRADE" onclick="bexaFunction()"></span> 
</center> 
<br> 
<br> 
<center> 
<input type="text" id="balance" class="balanceBox" value="1.0000000000" readonly> 
</center> 
<script> 
    function altraFunction() { 
      var altraRollVar = (Math.random()*2); 

      document.getElementById("altraPrice").value = altraRollVar.toFixed(5); 
      fxPriceConversion(); 

} 
</script> 
<script> 
    function bexaFunction() { 
      var bexaRollVar = (Math.random()*2); 

      document.getElementById("bexaPrice").value = bexaRollVar.toFixed(5); 
      fxPriceConversion(); 
} 
</script> 
<script> 
    function fxPriceConversion() { 
      var altraRollBoxVar = document.getElementById("altraRoll").value; 
      var bexaRollBoxVar = document.getElementById("bexaRoll").value; 
      var conversion = altraRollBoxVar/bexaRollBoxVar; 

      document.getElementById("fxPrice").value = conversion.toFixed(5); 
} 
</script> 

</body> 
</html> 

答えて

2

まず、Minimal, Complete, and Verifiable Exampleの作成方法をお読みください。ここにはすごく混乱があります。

第2に、あなたの問題はかなり明らかです。あなたは問題を分裂させて、分裂と関連していることを知っています。唯一の分割は、これらの行である:

var altraRollBoxVar = document.getElementById("altraRoll").value; 
var bexaRollBoxVar = document.getElementById("bexaRoll").value; 
var conversion = altraRollBoxVar/bexaRollBoxVar; 

bexaRollBoxVarの値は、ID bexaRollと入力の値です。その値は"TRADE"です。あなたのコードでこれを変更することはありません。したがって、上記の3行目は、整数ではなく文字列で区切っています。したがって、エラー。

altraRollBoxVarと同じ問題があることを指摘しておきます。あなたは実際に文字列を文字列で分割しています。意外なことに、それはうまくいかない。

alert(bexaRollBoxVar);など、これをデバッグする際の最小限の試みでも、この問題が明らかになりました。将来的には、ここに投稿する前に問題を解決するよう努力してください。

関連する問題