说我有一个int = 30;。而不是只有一个int等于一个数字(如30),我如何使int =任何值介于30和80之间?谢谢你的帮助。
答案 0 :(得分:2)
<div id="result"></div>
var min = 30;
var max = 80;
document.getElementById("result").textContent = Math.floor(Math.random() * (max - min + 1)) + min;
on jsfiddle
答案 1 :(得分:1)
在 JavaScipt :
中var x = Math.floor( Math.random()*(81-30) +30);
请参阅W3Schools和Mozilla Developer Network上的数学对象说明。
对此答案的评论表明,值Math.floor
返回是“任意的”。但是,它是Number
。参见ECMAScript 3 specification,“15.8.2.9 floor(x)”,第162页。根据相同的规范(“8.5数字类型”,第29页),数值是double-precision 64-bit format IEEE 754
值。或者用普通程序员理解的词语:“双”或“浮动”类型。如果您手头有JavaScript: The Definitive Guide这本书,那么您可以阅读第31页(“3.1号码”)和前方的号码类型。
我的老答案以为你说过Java:
随机r = new Random();
int x = r.nextInt(81 - 30)+ 30;
答案 2 :(得分: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/>');
}