※ ChatGPTを利用し、要約された質問です(原文:JavaScriptの計算のNaNの判定について…)
JavaScriptの計算のNaNの判定について
このQ&Aのポイント
JavaScriptの計算で負の値の場合にNaNと判定されてしまうという問題が起きています。正の場合は正しく計算されますが、負の場合の処理方法がわかりません。解決策を教えてください。
JavaScriptの計算処理で、負の値の場合にNaNと判定されます。正の値の場合は正しく計算されます。この問題を解決する方法を教えてください。
JavaScriptの計算処理で、負の値の場合にNaNと判定されてしまいます。正の値の場合は正しく計算されます。どうすれば負の場合でも正しく計算できるでしょうか?
JavaScriptの計算のNaNの判定について…
いろいろなアドバイスを参考に以下のようなプログラムを作り、値が正の時はちゃんと計算されるのですが負の時はNaNと判定されてしまいます。どうしたら負の場合でもちゃんと計算されますか?いろいろ調べたのですが見つかりませんでした…。よろしくお願いします。
<html>
<body>
<script type="text/javascript">
var rslt1 = 0;
var rslt2 = 0;
var rslt3 = 0;
function hoge1(){
var a=document.getElementById('a').value;
var b=document.getElementById('b').value;
var rslt;
if (a==1 && b==1) { rslt1=-100;
} else {
if (a==1 && b==2) { rslt1=-90;
} else {
if (a==2 && b==1) { rslt1=-80;
} else {
rslt1=-70;
}}}
document.getElementById('txt1').value=rslt1;
sum1();
}
function hoge2(){
var a=document.getElementById('a').value;
var c=document.getElementById('c').value;
var rslt;
if (a==1 && c==1) { rslt2=-95;
} else {
if (a==1 && c==2) { rslt2=-85;
} else {
if (a==2 && c==1) { rslt2=-75;
} else {
rslt2=-65;
}}}
document.getElementById('txt2').value=rslt2;
sum1();
sum2();
}
function hoge3(){
var a=document.getElementById('a').value;
var d=document.getElementById('d').value;
var rslt;
if (a==1 && d==1) { rslt3=-60;
} else {
if (a==1 && d==2) { rslt3=-50;
} else {
if (a==2 && d==1) { rslt3=-40;
} else {
rslt3=-30;
}}}
document.getElementById('txt3').value=rslt3;
sum2();
}
function sum1()
{
document.getElementById('txt4').value=rslt1 + rslt2;
}
function sum2()
{
document.getElementById('txt5').value=rslt2 + rslt3;
}
function sum3()
{
document.getElementById('txt6').value=((document.getElementById('txt4').value + rslt2 + document.getElementById('txt5').value * 2) / 4);
}
</script>
<select id="a" onChange="hoge1()">
<option value="1">1<option value="2">2
</select>
<select id="b" onChange="hoge1()">
<option value="1">1<option value="2">2
</select>
<select id="c" onChange="hoge2()">
<option value="1">1<option value="2">2
</select>
<select id="d" onChange="hoge3()">
<option value="1">1<option value="2">2
</select><p>
<input type="text" id="txt1" value=""><p>
<input type="text" id="txt2" value=""><p>
<input type="text" id="txt3" value=""><p>
<input type="text" id="txt4" value=""><p>
<input type="text" id="txt5" value=""><p>
<input type="text" id="txt6" value=""><p>
</body>
</html>
お礼
parseFloatを使用したら無事できました!どうもありがとうございました。