尝试生成随机数时出现问题

|| 我正在尝试构建一个使用以下代码生成一个范围(从/到)内的随机数的Web应用程序:
function generateRandom(rFrom, rTo)
{
    var num;
    num = Math.floor(rFrom + (1 + rTo - rFrom) * Math.random());

    return num;
}

function btGenerate_onClick(event)
{
    var nFrom;
    var nTo;

    nFrom = document.getElementById(\"txtFrom\").value;
    nTo = document.getElementById(\"txtTo\").value;

    document.getElementById(\"lblResult\").innerText = generateRandom(nFrom, nTo);
}
但是,当我分别使用属性
2
5
分别用于
From
To
测试Web应用程序时,我得到了类似like5ѭ,
210
20
27
211
的数字。那么,如何纠正这个问题,以便生成没有成功尝试的介于
2
5
之间的数字?     
已邀请:
问题是您必须将字符串值显式转换为数字:
function generateRandom(rFrom, rTo)
{
    var num;
    rFrom = Number(rFrom); rTo = Number(rTo);
    num = Math.floor(rFrom + (1 + rTo - rFrom) * Math.random());

    return num;
}
乘法将对\“ rTo \”隐式地执行此操作,但是您必须使\“ rFrom \”为加法数字,否则它将被解释为字符串连接。 编辑-糟糕,我从错误的代码块开始。现在,它具有您的原始功能,而我所做的只是将参数显式转换为数字。     
函数generateRandom(rFrom,rTo) {     var num;     num = Math.floor(Math.random()* parseInt(rTo))+ parseInt(rFrom);     返回数字 }     

要回复问题请先登录注册