在小小数值C#

时间:2018-04-19 18:20:13

标签: c#

我正在努力寻找一种能够在.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;

任何指导都将不胜感激。

提前致谢

1 个答案:

答案 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]