由于某些原因,在我的程序中,+符号在我的代码中添加了两位数字:
numerator1 += wholenumber1 * denominator1;
如果wholenumber1
为1
且denominator1
为4
,则numerator1
为14
...我发现了这一点:
console.log(numerator1);
这是使用type="number"
的输入,而等式的其他部分工作得很好......但是这部分对于我的程序正常运行至关重要,非常感谢帮助!
答案 0 :(得分:1)
您需要将输入转换为整数才能生效。
你可以使用numerator1 += parseInt(wholenumber1) * parseInt(denominator1);
有关更多信息,请参阅This
答案 1 :(得分:1)
虽然输入type
为number
,但实际值为string
类型。您可以通过typeof
运营商进行检查。因此,您必须使用parseInt()
之类的函数将值转换为整数,以便执行实际的算术运算。
console.log(typeof(document.getElementById('num1').value));
<input type="number" id="num1" value="1"/>
代码示例:
var numerator1 = 0;
var wholenumber1, denominator1;
wholenumber1 = document.getElementById('wholenumber1').value;
denominator1 = document.getElementById('denominator1').value;
numerator1 += parseInt(wholenumber1) * parseInt(denominator1);
console.log(numerator1);
wholenumber1: <input type="number" value="1" id="wholenumber1" /> <br/>
denominator1: <input type="number" value="4" id="denominator1" />