为什么.NET中的Random.Next方法不支持float/double?

Joa*_*nge 0 .net c# math

所以也许我希望将-1.0和1.0之间的值作为浮点数.使用扩展方法IMO将其写入并将其固定在顶部是笨拙的.

Joe*_*orn 18

还有一种.NextDouble()方法几乎完全符合你的要求 - 只需0到1.0而不是-1.0到1.0.


P D*_*ddy 14

public static double NextDouble(this Random rnd, double min, double max){
    return rnd.NextDouble() * (max - min) + min;
}
Run Code Online (Sandbox Code Playgroud)

致电:

double x = rnd.NextDouble(-1, 1);
Run Code Online (Sandbox Code Playgroud)

获得范围内的值 -1 <= x < 1