這就是我想要達到的目標:如何用(單獨)最小/最大限制生成一個隨機double?
public double NextMin (double min)
{
//Returns a double that is greater than or equal to "min".
}
public double NextMax (double max)
{
//Returns a double that is lesser than "max".
}
我試着範圍不斷擴大,但它會返回大量的「無限」由於溢出:
// Range expanding for min
random.NextDouble() * (double.MaxValue - min) + min;
// Range expanding for max
random.NextDouble() * (max - double.MinValue) + double.MinValue;
澄清:我需要的返回範圍儘可能大,這意味着它們應該同時包含底片和正片。
爲什麼你要這麼做?這是X-Y問題嗎? – Enigmativity
@Enigmativity我將生成一個程序性的宇宙,我需要一些隨機的矢量樣本。這些方法在我的算法中是需要的。 –
看看這裏http://stackoverflow.com/questions/3365337/best-way-to-generate-a-random-float-in-c-sharp – Blorgbeard