运营商失误? (JavaScript)
Operators glitched? (JavaScript)
由于某些原因,在我的程序中,+号将两个数字加在一起,在我的代码中:
numerator1 += wholenumber1 * denominator1;
如果wholenumber1
是1
并且denominator1
是4
,那么numerator1
是14
...我发现了这个通过:
console.log(numerator1);
这是使用 type="number"
的输入,等式的其他部分工作得很好......但这部分对于我的程序正确 运行 是必不可少的,并提供帮助非常感谢!
您需要将输入转换为整数才能正常工作。
您可以使用 numerator1 += parseInt(wholenumber1) * parseInt(denominator1);
更多内容请参考This
虽然输入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" />
由于某些原因,在我的程序中,+号将两个数字加在一起,在我的代码中:
numerator1 += wholenumber1 * denominator1;
如果wholenumber1
是1
并且denominator1
是4
,那么numerator1
是14
...我发现了这个通过:
console.log(numerator1);
这是使用 type="number"
的输入,等式的其他部分工作得很好......但这部分对于我的程序正确 运行 是必不可少的,并提供帮助非常感谢!
您需要将输入转换为整数才能正常工作。
您可以使用 numerator1 += parseInt(wholenumber1) * parseInt(denominator1);
更多内容请参考This
虽然输入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" />