Класс System.Random не имеет нужной вам функции, вы можете создать собственный метод или расширение для него
метод
// use only one instance of System.Random to avoid getting duplicates
static System.Random ra = new Random();
static double GenRnadNum(int min,int max,double step)
{
// calc the max-min and round down
int n = (int)((max - min) / step);
int r= ra.Next(0, n);
return min + r * step;
}
пример использования dd.Add(GenRnadNum(5, 20, 0.7));
я вижу, что многие люди делают это, деля максимальное и минимальное на шаг (max / step, min / step), а затем умножая случайный результат на шаг (randomRestul * step), но это приведет к неправильным результатам, напримерmin = 2, max = 4, step = 0.3 может дать вам 2.4 с этим алгоритмом (2 / 0.3 = 6.66 -> 7, случайный результат = 8, 8 * 0.3 = 2.4)