Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/56: Рейтинг темы: голосов - 56, средняя оценка - 4.88
1 / 1 / 0
Регистрация: 25.09.2013
Сообщений: 181
1

Получить случайное дробное число

18.03.2014, 14:03. Показов 10114. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
в C# нет функции, которая получает случайное дробное число. Я попробовал написать самостоятельно такую функцию, но некоторые моменты не учёл и в некоторых случаях у меня фигня получается.
Может быть предложите более корректный алгоритм?
Вот мой косячный
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private double RandomDoubleValue(double dMin, double dMax)
        {
            double dResult = _swarm._rRandom.Next(Convert.ToInt32(dMin), Convert.ToInt32(dMax));
            //дробная часть результата
            double dFractionalPart = _swarm._rRandom.NextDouble();
 
            if ((dResult + dFractionalPart) < dMax)
            {
                if ((dResult + dFractionalPart) > dMin)
                    dResult += dFractionalPart;
            }
          
            
            return dResult;
        }
Добавлено через 4 минуты
Например, между 19,508 и 19,672 у меня почему-то выдало случайное число 20.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.03.2014, 14:03
Ответы с готовыми решениями:

Как, вызывая метод, задать случайное дробное число для передачи конструктору элемента массива
Скажите, пожалуйста, как, вызывая метод задать случайное дробное число для передачи конструктору...

Как получить при делении дробное число?
Я встретился с такой проблемой, я не могу поделить в программе меньшое число на большое. Что я уже...

Определить класс «дробное число»
Определить класс «дробное число» с компонентными данными: целая часть, числитель,...

Передать дробное число по modbus
Здравствуйте. Создал два простых приложения (сервер и клиент) с помощью библиотеки EasyModbus,...

2
8940 / 4852 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
18.03.2014, 14:05 2
C#
1
2
3
4
5
public double RandomDoubleValue(double dMin, double dMax)
{ 
    Random random = new Random();
    return random.NextDouble() * (dMax- dMin) + dMin;
}
2
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
18.03.2014, 14:07 3
Dimarik_1,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using System;
 
public class Test
{
    public static void Main()
    {
        for(int i = 0; i < 10; i++)
        {
            double d = NextDouble(1.3,2.7);
            Console.WriteLine(d);
        }
    }
 
    private static double NextDouble(double a, double b)
    {
        double x = Rand.NextDouble();
        return x*a + (1-x)*b;
    }
 
    private static Random Rand = new Random();
}
Добавлено через 2 минуты
ViterAlex, забавно, одно и то же написали с точностью до раскрытия скобок)
1
18.03.2014, 14:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.03.2014, 14:07
Помогаю со студенческими работами здесь

Программа не делит на дробное число
Программа не делит на дробное число во 2 конверте. Подскажите причину сего действия. double...

Как округлить дробное число?
как округлить число до десятых, сотых и тд число типа double

Перевести дробное шестнадцатеричное число в двоичное
В общем, нужно перевести дробное шестнадцатеричное число в двоичное. Пробовал это...

Как ввести дробное число в консольном приложении
Не могу сделать чтобы вводило дробовые числа в программу, нужна помощь, пожалуйста. using System;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru