数学随机,用户输入最小值和最大值
Math random with user inputting the min and max
我希望用户输入自己的上下数字,这样数学随机可以在它们之间选择一个随机数字。出于某种原因,所选的数字超过了上限,有人能建议吗?http://jsfiddle.net/artworkjpm/w54e9bsw/
function getRandomNumber( upper, lower) {
var lower = prompt("give me your lower number");
var upper = prompt("give me your higher number");
if (isNaN(lower) || isNaN(upper) ) {
throw new Error("you need to select a number");
};
return Math.floor(Math.random() * (upper - lower)) + lower;
}
document.write("<h2>" + getRandomNumber() + "</h2>");
function getRandomNumber() {
var lower = parseInt(prompt("give me your lower number"));
var upper = parseInt(prompt("give me your higher number"));
if (isNaN(lower) || isNaN(upper) ) {
throw new Error("you need to select a number");
};
var preNumber = Math.random() * (upper - lower);
if(Math.random() < 0.5){
return Math.ceil(preNumber) + lower;
} else {
return Math.floor(preNumber) + lower;
}
}
console.log(getRandomNumber());
使用parseInt方法
return Math.floor(Math.random()*(parseInt(上)-parseInt(下)))+parseInt(下);
您的提示返回的字符串可能不是您想要的int。尝试将字符串更改为int.
最后,我在提示中使用了parseInt,它起了作用:
function getRandomNumber( upper, lower) {
var lower = parseInt(prompt("give me your lower number"));
var upper = parseInt(prompt("give me your higher number"));
if (isNaN(lower) || isNaN(upper) ) {
throw new Error("you need to select a number");
};
return Math.floor(Math.random() * (upper - lower)) + lower;
}
document.write("<h2>" + getRandomNumber() + "</h2>");
您在上一条指令(返回)中出现错误
你应该这样做,return Math.floor((Math.random()*upper)+lower);
已验证!!
相关文章:
- jquery最小和最大长度验证
- 日期选择器的最小和最大日期
- 如何在 ag-grid 中设置默认的最小和最大列宽
- webpack优化最小化返回布尔值,而不是工厂值
- 从显示为文本的范围中返回最小和最大数字
- 如何为日期选择器设置最小和最大日期
- 带有最小和最大数字的增量数组列表
- 最小和最大轴值在具有对数轴的高图表中不适用
- 如何获取最小和最大日期
- 如何从表的选定行中获取最小和最大数量
- 角度最小和最大时间不工作
- Soundcloud最小页面过大
- 具有最小和最大数字的十进制值的javascript正则表达式
- 如何根据其他日期约束jQuery ui日期选择器的最小和最大日期
- y轴最小和最大值范围显示
- 下拉的最小和最大值,不更新在EI9和IE8的JQuery
- JavaScript数学.最小返回错误的值
- 取最小和最大的数到我的值的左右
- 我如何得到这个脚本运行返回所需的值的最小,最大和总和
- 如何在JavaScript中比较最小订单数量的值