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 より前のブラウザーをサポートする必要がない場合はtextContent、innerHTML の代わりに使用する必要があります。

数値が浮動小数点の可能性がある場合は、代わりにparseFloatをチェックする必要があります

のように数値を処理できるようにする必要がある場合012は、 によって間違った方法で解釈される可能性があるため、基数パラメーターを指定する必要があります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;

単項演算子を使用しましたが、 、コンストラクターなど+の別のメソッドがあります。parseIntNumber

于 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

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 に答える
0

J:

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 に答える