19.09.2018, 09:08 [+3 UTC]
в нашей команде: 2 971 чел. | участники онлайн: 3 (рекорд: 21)

:: РЕГИСТРАЦИЯ

:: задать вопрос

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.50 (13.09.2018)

Общие новости:
13.04.2018, 10:33

Форум:
18.09.2018, 08:51

Последний вопрос:
18.09.2018, 15:34

Последний ответ:
19.09.2018, 08:03

Последняя рассылка:
18.09.2018, 17:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
14.11.2010, 17:14 »
Verena
Спасибо за 3 и 4 ссылку, я на такие не натыкалась smile [вопрос № 180677, ответ № 264020]
05.10.2009, 21:07 »
Andris
Ответ был полный и понятный. А главное - все получилось. [вопрос № 172881, ответ № 254982]
12.08.2010, 11:26 »
Dimon4ik
Большое спасибо за четкий, разверутый и очень полезный ответ. [вопрос № 179678, ответ № 262791]

РАЗДЕЛ • Pascal / Delphi / Lazarus

Создание программ на языках Pascal, Delphi и Lazarus.

[администратор рассылки: Зенченко Константин Николаевич (Модератор)]

Лучшие эксперты в этом разделе

Зенченко Константин Николаевич
Статус: Модератор
Рейтинг: 179
Асмик Гаряка
Статус: Советник
Рейтинг: 0
Орловский Дмитрий
Статус: Мастер-Эксперт
Рейтинг: 0

Перейти к консультации №:
 

Консультация онлайн # 171991
Раздел: • Pascal / Delphi / Lazarus
Автор вопроса: Николай // Programmator
Отправлена: 08.09.2009, 02:17
Поступило ответов: 1

Здравствуйте уважаемые эксперты! Подскажите пожалуйста, можно ли random'ом реализовать генерацию случайных чисел, только не целых, а дробных? Если нет, есть ли другой способ? Нужно получить n - чисел (псевдослучайных) от 1 до 999 с тремя знаками после комы (тоже случайными). Например 892.762 или 3.612 smile

Состояние: Консультация закрыта

Ответ # 253971 от Ковалев Никита Викторович

Здравствуйте, Николай // Programmator .
Попробуйте такое выражение

l=random(1000)+random(1000)*0.001;


Консультировал: Ковалев Никита Викторович
Дата отправки: 08.09.2009, 02:34

5
Огромное Вам спасибо!!!
-----
Дата оценки: 08.09.2009, 10:05

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Мини-форум консультации № 171991

Вадим Исаев ака sir Henry
Старший модератор

ID: 425

# 1

= общий = | 08.09.2009, 05:03 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Николай // Programmator :

© Цитата:
...тремя знаками после комы...

А кома с кем случилась? И долго ли программиста после комы откачивали? smile
Вы по русски писать категорически не хотите?

=====
Я только в одном глубоко убеждён - не надо иметь убеждений! :)


Посетитель

ID: 271861

# 2

= общий = | 08.09.2009, 07:41 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

sir Henry:
В принципе Ковалев Никита Викторович ответил правильно, только вот диапазон получается от 0 до 999, может стоит исправить на:
l=1+random(999)+random(1000)*0.001;

Вадим Исаев ака sir Henry
Старший модератор

ID: 425

# 3

= общий = | 08.09.2009, 08:35 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

А если попроще? Например так:

Function RandomNumber: Currency;
Begin
  Randomize;
  Result:=Random(1000)+Random;
End;
Тип Currency автоматически ограничивает количество знаков после запятой четырьмя штуками. Если количество знаков критично, тогда надо округлять.

=====
Я только в одном глубоко убеждён - не надо иметь убеждений! :)


Посетитель

ID: 221524

# 4

= общий = | 08.09.2009, 10:02 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

sir Henry:
Извиняюсь...


Посетитель

ID: 221524

# 5

= общий = | 08.09.2009, 10:03 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Спасибо всем за помощь! smile

Сергей Бендер
Профессионал

ID: 304622

# 6

= общий = | 15.09.2009, 17:09 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: Вадим Исаев ака sir Henry

Result:=Random(1000)+Random;


Можно ещё проще:

Result:=random*1000;


Посетитель

ID: 271861

# 7

= общий = | 15.09.2009, 21:18 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Сергей Бендер:
Ай, молодцА. smile

 

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.17414 сек.

© 2001-2018, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.50 от 13.09.2018