【发布时间】:2015-09-10 03:11:24
【问题描述】:
所以我得到了这个脚本来查找两个用户输入的值之间的随机数。 “最大”部分有效,随机生成的数字永远不会高于更高的数字。但是生成的数字仍然是从 1 到最高数字,而不是要设置的任何“min”。我做错了什么?
查看其他代码,我尝试了“(max - min + 1) + min”公式,但它给出的结果与我现在的结果完全相同。有时它根本没有注册。这可能是我缺少的一个简单的语法问题?其他变体最终是随机生成的数字集中于“min”的值,而不是将两个数字值加在一起。例如,在 10 到 20 之间,我将掷出 8,它会在答案框中显示“810”,而不是应有的 18。
<script>
function roll_the_dice(){
var minA = document.getElementById('hp_one').value;
var maxA = document.getElementById('hp_two').value;
var rangeA = (minA,maxA);
var resultA = Math.floor(Math.random() * rangeA + 1);
document.getElementById('hp_result').value = resultA;
</script>
【问题讨论】:
-
试试:
var rangeA = Math.min(minA,maxA);。此外,在从 DOM 获取value时使用parseInt。另请注意,您缺少函数的} -
我还没有了解 ParseInt,我将如何实现它?
-
见MDN
-
并不能真正帮助我弄清楚它应该在代码中的哪个位置大声笑是不是类似于
var minA = parseInt(document.getElementById('hp_one').value;? -
再次阅读我的第一条评论,我已经提到了它需要使用的地方。
标签: javascript random syntax numbers