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

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

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

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

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

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

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


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

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

7   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы