生成一个范围内的随机数

/*
  功能:
      生成一个范围内的随机数,
      根据传入参数类型, 生成 [a,b] 的整数或 [a,b) 的小数.
  参数:
      string/int/double/...:上限/下限
      string/int/double/...:下限/上限
  注意:
      (1.0, 3.0) 只会生成 [1,3] 的整数而非小数
  版本:
      1.0.2.2
      2016年07月04日
*/
function rndin(a, b) {
    a = Number(a); b = Number(b);
    var tmp = a+b;
    if( tmp !== tmp) { //NaN
        console.error('随机数生成过程中出现错误!');
        return (a || b || 0);
    }
    if(a>b){
        tmp = a; a = b; b = tmp;
    }

    if( parseInt(a)===a && parseInt(b)===b )
        return parseInt( a + Math.random()*(b-a+1) );
    else
        return a + Math.random()*(b-a);
} 

发布者

胡中元

《中原驿站》站长

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注