经营者搞砸了? (JavaScript的)

时间:2018-03-16 00:33:08

标签: javascript operators

由于某些原因,在我的程序中,+符号在我的代码中添加了两位数字:

numerator1 += wholenumber1 * denominator1;

如果wholenumber11denominator14,则numerator114 ...我发现了这一点:

console.log(numerator1);

这是使用type="number"的输入,而等式的其他部分工作得很好......但是这部分对于我的程序正常运行至关重要,非常感谢帮助!

2 个答案:

答案 0 :(得分:1)

您需要将输入转换为整数才能生效。 你可以使用numerator1 += parseInt(wholenumber1) * parseInt(denominator1); 有关更多信息,请参阅This

答案 1 :(得分:1)

虽然输入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" />