我正在尝试使用localStorage
制作随机数生成器。
我不知道为什么,但我的代码不起作用。我已经尝试过所有事情,但我一直对此感到困惑。
这是我的代码:
localStorage.setItem("MaxInputValue_Storage",10);
localStorage.setItem("MinInputValue_Storage",5);
function Random_Number_Generation(Max,Min) {
console.log(Min);
console.log(Max);
var Random_Number = Math.floor(Math.random() * (( Max - Min ) + 1) + Min );
console.log(Random_Number);
};
Random_Number_Generation(localStorage.getItem("MaxInputValue_Storage"),localStorage.getItem("MinInputValue_Storage"));
怎么回事?
编辑: 我希望得到一个5-10的值,但是我从0到5得到一个值。
答案 0 :(得分:0)
localStorage值是字符串格式,如果任何操作数是字符串,则+运算符作为连接运算符。 在你的代码中 来自localStorage的'Min'是“5”(它是字符串), Math.random()*((Max - Min)+ 1)返回前4.941的数字,所以4.941 +“5”将是4.9415,这就是你得到0到4之间的值的原因。使用parseInt将该字符串值转换为Number这样你就可以得到理想的结果。
var Random_Number = Math.floor(Math.random() * (( Max - Min ) + 1) + parseInt(Min));