2017-07-20 1 views
-4

私はこのjavascriptコードを持っていて、xとyを解くことになっていますが、結果はNaNです。なぜこのjavascriptの代数方程式はNaNの結果を与えるのですか?

function calculate(x,y){ 
       var firsttrans="1"; 
       var secondtrans="2"; 
       var a=parseInt(firsttrans, 10); 
       var b=parseInt(secondtrans, 10); 
       var y=x*a/b; 
       var ans=parseInt(y, 10); 
       alert(ans); 
      } 

ため、私は私のコードで何か他の文字列であることをfirsttranssecondtransが必要ですが、ポイントは、このalert(ans)は番号を与えないということです。

+8

'X'はどのようなものです:私はクロームに対して、あなたの通常のブラウザでは単にy = x/2と同じことをしy = x * a/b ...

テストこのHTMLコードすることを意味ですか?なぜあなたは 'y'を再宣言しますか? – str

+2

どの入力が使用されていますか? – aalcutt

+3

なぜそれが既にパラメータであれば 'var y'を定義していますか? – Surreal

答えて

0

あなたのxとyが整数か浮動小数点数であるという保証はありませんので、あなたの操作var y = x * a/b;失敗するでしょう。 xとyが整数か浮動小数点数であることを確認する必要があります。

0

コードは正常に動作します(Chromeでテスト済み)。私はcalculate(8,3);を試してみましたが、答えはないNaNをので、どちらかあなたがトローリングしているか、他ますがNaNの問題を再作成するために私たちに重要な詳細を語っていない...

あなたのすべてのコードが簡単に取るさんでしたxの値を半分にして、半分の結果を新しい値yとして設定します。なぜは自分の半分を掛けますはNaNエラーを返しますか?

<!DOCTYPE html> 
<html> 
<body> 

<p id="demo"></p> 

<script> 
function calculate(x,y){ 
       var firsttrans="1"; 
       var secondtrans="2"; 
       var a=parseInt(firsttrans, 10); 
       var b=parseInt(secondtrans, 10); 
       var y=x*a/b; 
       var ans=parseInt(y, 10); 
       //alert("result is : " + ans); 

       return ans; 
      } 

document.getElementById("demo").innerHTML = "result is : " + calculate(8,3); 
</script> 

</body> 
</html> 
関連する問題