我大约一周前开始学习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>