-4

int = 30; があるとします。int を数値 (30 など) にする代わりに、int = 30 から 80 の間の任意の値を作成するにはどうすればよいでしょうか。助けてくれてありがとう。

4

3 に答える 3

2
<div id="result"></div>

var min = 30;
var max = 80;

document.getElementById("result").textContent = Math.floor(Math.random() * (max - min + 1)) + min;

jsfiddle

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