我尝试使用输入作为函数的参数。问题是,当我使用数字作为参数(例如:getRandomNumber(1,20))时,一切正常。但是当我使用下面所示的方法并输入min = 2和max = 5时,我得到数字0,1,2,3。如何强制它像getRandomNumber(1,20)一样工作?
我猜错了Math.floor(Math.random()*(max-min+1)+min)
<html>
<head>
</head>
<body>
<input type = "button" value = "Get random number" onclick = "getRandomNumber(document.getElementById('min').value,document.getElementById('max').value)">
<input type = "input" id = "min" placeholder = "min">
<input type = "input" id = "max" placeholder = "max">
<script>
var p = document.createElement("p");
document.body.appendChild(p);
function getRandomNumber(min,max) {
p.innerHTML = Math.floor(Math.random()*(max-min+1)+min);
}
</script>
</body>
</html>
答案 0 :(得分:0)
应该如下:
Math.floor(Math.random() * (max - min + 1)) + min
并将输入转换为数字,例如使用
document.getElementById('min').valueAsNumber
答案 1 :(得分:0)
实际上document.getElementById给你一个字符串值,但是你需要一个int值,因为它不起作用。
您只需要在函数中重新接收值,然后执行该过程 MIN = value.parseInt()