在我们平常写程序的时候,会需要写随机数的生成,一般我们都会直接考虑用现成的函数来实现,例如

Random.Next()可以产生一定范围的整数
Random.NextDouble()可以产生0.1-1的浮点数

这些都是正数,但是如果我们想再任意区间内取得随机数,例如:我要产生比如-10到10范围内的浮点数,那我们因该怎么做?

一般的的办法都会这样

Random.NextDouble()* (10 – 0.1) + 0.1产生0到10的浮点数,然后随机取负号。

但是我们有没有更加简便的方式来解决的这个问题呢?Xushine研究院今天给出一点建议吧.

我们可以这样的写出:

static double getDoubleRnd(int iMin, int iMax)
  {
  double _r = 0;
  Random ran = new Random(Guid.NewGuid().GetHashCode());
  if (iMin <= iMax)
  _r = ran.Next(iMin, iMax)*ran.NextDouble();
  return _r;
  }

再这个上界和下界中放入要取值的范围就可以轻松的实现随机数了

评论被关闭。