运营商失误? (JavaScript)

Operators glitched? (JavaScript)

由于某些原因,在我的程序中,+号将两个数字加在一起,在我的代码中:

numerator1 += wholenumber1 * denominator1;

如果wholenumber11并且denominator14,那么numerator114...我发现了这个通过:

console.log(numerator1);

这是使用 type="number" 的输入,等式的其他部分工作得很好......但这部分对于我的程序正确 运行 是必不可少的,并提供帮助非常感谢!

您需要将输入转换为整数才能正常工作。 您可以使用 numerator1 += parseInt(wholenumber1) * parseInt(denominator1); 更多内容请参考This

虽然输入typenumber,但实际值是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" />