|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
09.09.2008, 20:17 | #1 |
Веб-разработчик
Форумчанин
Регистрация: 16.01.2008
Сообщений: 451
|
round он же random
странная вещь round, решил округлить число 1.5 с целью проверки как он округлит...потом проверил 2.5 и заметил странную вещь, он округляет как захочет тобишь 1.5 до 2-х и 2.5 тоже до 2-х, почему так?
Код:
Я ваш новый друг, смиритесь!
|
09.09.2008, 20:24 | #2 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,501
|
Да именно так. потому для точных вычислений нужно использовать trunc - отбрасывание дробной части.
А где здесь random? Для рандома есть специальный термин - условно случайное. Вообще про точность в случайных числах говорить сложно |
09.09.2008, 20:32 | #3 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
Вообще-то всё что вы изучали в школе по поводу округления - лишь приближение. По правилам число с половиной должно округляться до следующего целого, если целая часть нечётная, иначе до предыдущего
1,5 - 2 2,5 - 2 3,5 - 4 4,5 - 4 |
09.09.2008, 20:42 | #4 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,501
|
eoln, а как официально называется это правило?
|
09.09.2008, 20:48 | #5 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
Alar, увы не помню (или не знаю), но на численных методах в универе мы это проходили. Даже вопрос такой был на зачёте.
добавлено вот тут нашёл упоминание об этом, правило называется №3 Последний раз редактировалось eoln; 09.09.2008 в 20:55. |
09.09.2008, 21:07 | #6 |
Веб-разработчик
Форумчанин
Регистрация: 16.01.2008
Сообщений: 451
|
мммм, теперь понятно, а то я никак не мог найти логики в его действиях.
Я ваш новый друг, смиритесь!
|
09.09.2008, 21:57 | #7 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Вы бы школьную алгебру учили нормально и тогда Америку бы не открывали.
|
10.09.2008, 14:36 | #8 | |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
В "школьной" алгебре как раз всё однозначно: все половины округляются в большую сторону. Но если следовать этому правилу, то у бухгалтера никогда баланс не сойдётся. Поэтому, то, что написано выше называется бухгалтерским округлением.
Вот выдержка из help-а delphi для функции round Цитата:
|
|
10.09.2008, 15:31 | #9 | |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Извините, _Dmitrty, но не соглашусь. Вот выдержка из алгебры:
Цитата:
|
|
10.09.2008, 15:53 | #10 | |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,501
|
Нас учили в школе, давно это было, что 2.5 нужно округлять до 3-х. Но недавно узнал о такой особенности, как округление до четного, потому в будущем буду использовать только отбрасывание остатка после запятой - Trunc
Не думал, что про такую простую функцию, как Round, придется перечитывать справочник "Основы delphi" _Dmitry, привожу вашу цитату на русском, или то что там имелось ввиду - Цитата:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
random в С++ | Swool | Общие вопросы C/C++ | 21 | 18.02.2012 21:55 |
Random | Febreze | Общие вопросы Delphi | 2 | 28.04.2008 14:17 |
Random -10 +10 | Veiron | Общие вопросы Delphi | 1 | 23.01.2008 17:23 |
Random | Constellation | БД в Delphi | 2 | 10.01.2008 21:37 |
random | Sanek_ntsk | Общие вопросы Delphi | 8 | 17.12.2007 21:54 |