小编典典

两个双数之间的随机数

all

是否可以在 2 个双打之间生成一个随机数?

例子:

public double GetRandomeNumber(double minimum, double maximum)
{
    return Random.NextDouble(minimum, maximum) 
}

然后我用以下方式调用它:

double result = GetRandomNumber(1.23, 5.34);

任何想法将不胜感激。


阅读 60

收藏
2022-08-02

共1个答案

小编典典

是的。

Random.NextDouble 返回 0 和 1 之间的双精度值。然后将其乘以需要进入的范围(最大值和最小值之间的差),然后将其添加到基数(最小值)。

public double GetRandomNumber(double minimum, double maximum)
{ 
    Random random = new Random();
    return random.NextDouble() * (maximum - minimum) + minimum;
}

真正的代码应该有随机的静态成员。这将节省创建随机数生成器的成本,并使您能够非常频繁地调用
GetRandomNumber。由于我们在每次调用时都初始化一个新的 RNG,如果你调用的速度足够快以至于系统时间在调用之间不会改变,RNG
将以完全相同的时间戳作为种子,并生成相同的随机数流。

2022-08-02