Я использовал эту формулу для получения случайного двойного числа в произвольном интервале:
Random r = new Random();
double Upper = 3.7, Lower = 11.4, Result;
Result = Lower + (r.NextDouble() * (Upper - Lower))
// Lower is the lower border of interval, Upper is the upper border of interval
Но помните , что MSDN говорит о методе NextDouble:
Число с плавающей запятой двойной точности больше или равно 0,0 и меньше 1,0.
Это означает, что интервал в моем примере кода будет равен 3,7, но мы никогда не получим 11,4, верно?Как я могу включить верхнюю границу?
Lower + (r.NextDouble() * (Upper - Lower + double.Epsilon))
Может ли эта формула помочь?Или есть другой вариант получения случайных двойных чисел в [3.7;11.4] (включая обе границы)?