int = 30; があるとします。int を数値 (30 など) にする代わりに、int = 30 から 80 の間の任意の値を作成するにはどうすればよいでしょうか。助けてくれてありがとう。
3 に答える
2
<div id="result"></div>
var min = 30;
var max = 80;
document.getElementById("result").textContent = Math.floor(Math.random() * (max - min + 1)) + min;
于 2013-04-20T21:14:06.027 に答える
1
function getInt(lo, hi) {
var l = parseInt(lo);
var h = parseInt(hi);
return parseInt(Math.random() * (h - l)) + l;
}
function isBetween(x, lb, ub) {
return x >= lb && x <= ub;
}
for (var i = 0; i < 10; i++) {
var lo = 30, hi = 80
var x = getInt(lo, hi);
var b = isBetween(x, lo, hi);
document.write(x + '-' + b + '<br/>');
}
于 2013-04-20T21:19:20.140 に答える
1
JavaSciptでは:
var x = Math.floor( Math.random()*(81-30) +30);
W3SchoolsおよびMozilla Developer NetworkのMath オブジェクトの説明を参照してください。
Math.floor
この回答に対するコメントは、戻り値が「任意」であることを示唆しています。しかし、それはNumber
です。ECMAScript 3 仕様、「15.8.2.9 floor(x)」、162 ページを参照してください。同じ仕様 (「8.5 The Number Type」、29 ページ) によれば、Number 値は値double-precision 64-bit format IEEE 754
です。または、平均的なプログラマーが理解できる言葉で言えば、「double」または「float」型です。本JavaScript: The Definitive Guideを手元に持っている場合は、31 ページ (「3.1 Numbers」) 以降の Number 型について読むことができます。
私の古い答えは、あなたが Java と言ったと思っていました:
ランダム r = 新しいランダム (); int x = r.nextInt(81 - 30) + 30;
Random API ドキュメントを参照してください。
于 2013-04-20T21:06:56.900 に答える