2

一个简单的问题..

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);
4

8 回答 8

8

使用parseInt并在其 HTML 上处理它,

var result = parseInt(x.innerHTML) * parseInt(y.innerHTML)

如果你不需要支持IE9之前的浏览器,你应该使用textContentinnerHTML来代替。

如果您的数字可能是浮点数,则应改为检查parseFloat

如果您需要能够处理数字,012您应该指定 radix 参数,因为它们可能会被parseInt. 在这种情况下,您应该使用parseInt(x.innerHTML,10)

于 2013-03-13T06:29:52.927 回答
5

它应该是

var x = document.getElementById('xNum').innerHTML;
var y = document.getElementById('yNum').innerHTML;
var result = x * y;

document.write(result);
于 2013-03-13T06:30:22.953 回答
3

将它们解析为整数:

var x = document.getElementById('xNum');
var y = document.getElementById('yNum');

var result = parseInt(x.innerHTML, 10) * parseInt(y.innerHTML, 10);
于 2013-03-13T06:31:09.103 回答
2

您获得的值是一个字符串,因此为了将其用作数字,您应该将其转换为整数(或浮点数):

var x = +document.getElementById('xNum').innerHTML;
var y = +document.getElementById('xNum').innerHTML;
var result = x * y;

我使用了一元运算+符,还有其他方法parseInt,例如Number构造函数等。

于 2013-03-13T06:30:35.247 回答
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);

演示

于 2013-03-13T06:47:54.000 回答
0

JS:

var x = document.getByElementId('xNum').innerHTML;
var y = document.getByElementId('xNum').innerHTML;
var result = parseInt(x) * parseInt(y);

document.write(result);
于 2013-03-13T06:30:15.453 回答
0

您必须转换为 int 才能完成计算。默认情况下,该值视为 string 。

  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

于 2013-03-13T06:32:16.190 回答
0

您必须parseInt()在 javascript 中使用函数来解析字符串以返回整数。

你的代码应该是这样的:

   var x = document.getElementById('xNum');
   var y = document.getElementById('yNum');
   var result = parseInt(x.innerHTML) * parseInt(y.innerHTML); 

   document.write(result);
于 2013-03-13T06:34:57.953 回答