是否可以在 2 个双打之间生成一个随机数?
例子:
public double GetRandomeNumber(double minimum, double maximum) { return Random.NextDouble(minimum, maximum) }
然后我用以下方式调用它:
double result = GetRandomNumber(1.23, 5.34);
任何想法将不胜感激。
是的。
Random.NextDouble 返回 0 和 1 之间的双精度值。然后将其乘以需要进入的范围(最大值和最小值之间的差),然后将其添加到基数(最小值)。
public double GetRandomNumber(double minimum, double maximum) { Random random = new Random(); return random.NextDouble() * (maximum - minimum) + minimum; }
真正的代码应该有随机的静态成员。这将节省创建随机数生成器的成本,并使您能够非常频繁地调用 GetRandomNumber。由于我们在每次调用时都初始化一个新的 RNG,如果你调用的速度足够快以至于系统时间在调用之间不会改变,RNG 将以完全相同的时间戳作为种子,并生成相同的随机数流。