![]() |
Модераторы: volvo877, Snowy, MetalFan |
![]() ![]() ![]() |
|
Limpopo |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 20.9.2006 Репутация: нет Всего: 1 |
Зачем нужна функция Int, если есть Trunc?
help |
|||
|
||||
boevik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1452 Регистрация: 31.5.2004 Где: Израиль Репутация: нет Всего: 35 |
Разница при работе с отрицательными числами.
Trunc - отрезает дробную часть Int - понижает до ближайшего целого числа. Trunc(-8.9) -> -8 Int((-8.9) -> -9 -------------------- Никогда не говори никогда |
|||
|
||||
volvo877 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2073 Регистрация: 15.11.2004 Репутация: 2 Всего: 116 |
Ничего подобного... И то и другое вернет -8... Проверь:
Разница - в типе возвращаемого значения, если ты не заметил... Int возвращает результат типа Real, а Trunc - целочисленный... Это сообщение отредактировал(а) volvo877 - 9.11.2006, 11:03 |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: нет Всего: 459 |
У них вроде как суть разная. Trunc - Округление с отсечением. Т.е. перевод числа из дробного в целое.
Int - же это функция, которая возвращает целую часть дробного числа. Int вместе с Frac - образуют группу функций позволяющих работать делить число с плавающей точкой. (делить в смысле разделять) -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
volvo877 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2073 Регистрация: 15.11.2004 Репутация: 2 Всего: 116 |
||||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: нет Всего: 459 |
я говорил про суть, а не результат. Это немного разные понятия.
Приведу пример, когда результат получается одинаковый, но суть все же разная. Например если в делфях написать var s : AnsiString; или var s : String; при обычных настройках, результат будет одинаков, но суть все же разная. В первом случае, я говорю мне нужна именно такая строка и никакая другая. Во втором случае, я говорю мне просто нужная строка, а какой она будет это как компилятор решит. 2 - е описание может быть универсальным, тогда как первое однозначно. Мне кажется, что тут ситуация аналогичная. Хотя и тут результат немного отличается т.е. в определенных случаях Int будет быстрее, так она не требует двойного преобразования типов real -> Integer-> real (если присвоение результата идет переменной с плавающей точкой). -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi" | |
|
Запрещается! 1. Обсуждать и делится взломанными компонентами или программным обеспечением 2. Публиковать ссылки на варез 3. Оффтопить
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |