我正在努力寻找一种能够在.NET中生成从0.0000000000001到0.0001的随机数的解决方案。
我一直在玩下面但没有成功:
Random r = new Random();
int rInt = r.Next(0, 100); //for ints
int range = 1000;
double rDouble = r.NextDouble() / range;
任何指导都将不胜感激。
提前致谢
答案 0 :(得分:1)
如果你想在0.0000000000001到0.0001的范围内创建均匀分布的随机数,你可以尝试这样的东西,即(10 ^ -13,10 ^ -4]:
var rnd = new Random();
Console.WriteLine(rnd.NextDouble()*(1e-4 - 1e-13) + 1e-13);
rnd.NextDouble()
在范围(0,1)
rnd.NextDouble()*(1e-4 - 1e-13)
在范围内生成随机双精度(0,10 ^ -4 - 10 ^ -13]
rnd.NextDouble()*(1e-4 - 1e-13) + 1e-13
生成范围内的随机双精度(10 ^ -13,10 ^ -4]