Неправильная генерация случайных вещественных чисел - C#

Узнай цену своей работы

Формулировка задачи:

Функция имеет вид
static double GetRandomNumber(double minimum, double maximum)
        {
            Random random = new Random();
            return random.NextDouble() * (maximum - minimum) + minimum;
        }
...
 
 //считывание исходных данных
double.TryParse(this.textBox1.Text, NumberStyles.Any, new CultureInfo("en-US"), out x1);
double.TryParse(this.textBox2.Text, NumberStyles.Any, new CultureInfo("en-US"), out x2);
 
//выводим случайное число в заголовок окна
this.Text = GetRandomNumber(x1, x2).ToString(new CultureInfo("en-US"));
Число при этом генерируется больше верхней границы, при многократном вызове меняется лишь дробная часть.
Или как добавить границы в эту функцию:
static double GetRandomNumber(double minimum, double maximum)
        {
            Random rand = new Random();
            double x = Convert.ToDouble(rand.Next(0, 100)) / 100;
            return x;
        }
мне она даже больше подходит, т.к. позволяет генерировать числа нужной точности

Решение задачи: «Неправильная генерация случайных вещественных чисел»

textual
Листинг программы
static Random rand = new Random();
static double GetRandomNumber(double minimum, double maximum)
{
    return rand.NextDouble() * (maximum - minimum) + minimum;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5
Похожие ответы