我正在寫一個單行計算器,它具有基本功能(+ - * /)。我之前做過這些,但現在我一直在收到錯誤的答案,而且我找不到我的錯誤。這裏是我的代碼:JS計算器問題。錯誤的答案
var seq = document.getElementById('sequence').value;
var allNums = [];
var i = 0, allSigns = [];
var currentNums = "";
for (i = 0; i< seq.length; i++)
{
if (seq[i] != "+" && seq[i] != "-" && seq[i] != "*" && seq[i] != "/")
{
currentNums+=seq[i];
}
else
{
allNums.push(Number(currentNums));
currentNums="";
allSigns.push(seq[i]);
}
}
allNums.push(Number(currentNums));
var result = 0;
for (i = 0; i < allNums.length; i++)
{
if (allSigns[i] == '+')
result+=Number(allNums[i]);
else if (allSigns[i] == "-")
result-=Number(allNums[i]);
else if (allSigns[i] == "*")
result*=Number(allNums[i]);
else if (allSigns[i] == "/")
result/=parseInt(allNums[i]);
else
{
alert("The result is: " + result);
break;
}
}
所有這些代碼是在一個函數,稱爲計算。 func由一個按鈕觸發,並且該序列來自一個輸入。
他們之一怎麼使用parseInt和其他數字? – epascarello 2013-05-06 19:24:42
你會得到什麼樣的錯誤?你可以發佈一個jsFiddle嗎? – j08691 2013-05-06 19:24:56
只是爲了嘗試如果問題來自那裏。如果全部使用Number()或parseInt(),則沒有區別。那麼沒有實際的錯誤,只有答案是錯誤的。 – 2013-05-06 19:26:04