一个简单的问题..
var x = document.getElementById('xNum');
var y = document.getElementById('xNum');
var result = x * y;
document.write(result);
和
<div id="xNum">20</div>
<div id="yNum">50</div>
它显示20和50.为什么不计算20 * 50?为什么它以整数形式出现,或者如何在div中得到数字?
感谢名单!
我没有得到任何结果:
var x = document.getElementById('xNum').innerHTML;
var y = document.getElementById('xNum').innerHTML;
var result = parseInt(x) * parseInt(y);
document.write(result);
答案 0 :(得分:7)
使用parseInt并在其HTML上处理
var result = parseInt(x.innerHTML) * parseInt(y.innerHTML)
如果您不需要支持IE9的浏览器,则应使用textContent
而不是innerHTML。
如果你的号码可能是浮动的,你应该查看parseFloat而不是
如果您需要能够处理012
之类的数字,则应指定基数参数,因为parseInt
可能会错误地解释它们。
在这种情况下,您应该使用parseInt(x.innerHTML,10)
答案 1 :(得分:5)
应该是
var x = document.getElementById('xNum').innerHTML;
var y = document.getElementById('yNum').innerHTML;
var result = x * y;
document.write(result);
答案 2 :(得分:3)
将它们解析为整数:
var x = document.getElementById('xNum');
var y = document.getElementById('yNum');
var result = parseInt(x.innerHTML, 10) * parseInt(y.innerHTML, 10);
答案 3 :(得分:2)
您获得的值是一个字符串,因此为了将其用作数字,您应该将其强制转换为整数(或浮点数):
var x = +document.getElementById('xNum').innerHTML;
var y = +document.getElementById('xNum').innerHTML;
var result = x * y;
我使用了一元+
运算符,还有其他方法,如parseInt
,Number
构造函数等。
答案 4 :(得分:1)
到目前为止,可能的方法已经用尽,但这是textContent
的一个例子:
var x = document.getElementById('xNum'),
y = document.getElementById('yNum'),
toIntNum = function(element) {
return parseInt(element.textContent || element.innerText || 0, 10);
},
result;
result = toIntNum(x) * toIntNum(y);
答案 5 :(得分:0)
JS:
var x = document.getByElementId('xNum').innerHTML;
var y = document.getByElementId('xNum').innerHTML;
var result = parseInt(x) * parseInt(y);
document.write(result);
答案 6 :(得分:0)
你必须转换成int才能完成计算。默认情况下,该值视为字符串。
var x = document.getByElementId('xNum');
var y = document.getByElementId('xNum');
var result = parseInt(x) * parseInt(y); //use parseInt or parseDouble
document.write(result);
和
<div id="xNum">20</div>
<div id="yNum">50</div>
它给1000
答案 7 :(得分:0)
您必须在javascript中使用parseInt()
函数来解析字符串以返回整数。
您的代码应该是这样的:
var x = document.getElementById('xNum');
var y = document.getElementById('yNum');
var result = parseInt(x.innerHTML) * parseInt(y.innerHTML);
document.write(result);