我大约一周前开始学习 JavaScript,现在我遇到了一个问题。我的代码没有返回正确的随机数作为答案。请查看我的代码并帮助我。谢谢。
function calc() {
var min = document.getElementById('min').value;
var max = document.getElementById('max').value;
var x = Math.floor(Math.random() * (max - min) + max);
document.getElementById('random').innerHTML = x;
}
<table border='1px' color='black'>
<tr>
<td>min</td>
<td>
<input type='text' id='min' />
</td>
</tr>
<tr>
<td>max</td>
<td>
<input type='text' id='max' />
</td>
</tr>
<tr>
<td>
<input type='button' onClick='calc()' value='generate' />
</td>
<td>
<p id='random'>0</p>
</td>
</tr>
</table>
最佳答案
您必须使用 parseInt(string,10)
在开始计算之前对 min
和 max
值进行设置,否则 ... + max
将连接字符串而不是添加数字。
至于算术,try var x = Math.floor(Math.random() * (max - min + 1) + min)
instead.
function calc() {
var min = parseInt(document.getElementById('min').value,10);
var max = parseInt(document.getElementById('max').value,10);
var x = Math.floor(Math.random() * (max - min + 1) + min);
document.getElementById('random').innerHTML = x;
}
<table border='1px' color='black'>
<tr>
<td>min</td>
<td>
<input type='text' id='min' />
</td>
</tr>
<tr>
<td>max</td>
<td>
<input type='text' id='max' />
</td>
</tr>
<tr>
<td>
<input type='button' onClick='calc()' value='generate' />
</td>
<td>
<p id='random'>0</p>
</td>
</tr>
</table>
关于javascript - 使用 html 和 javascript 的随机数生成器没有给出正确的随机数作为答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30717140/