Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.11.2011, 22:56   #1
Warn
Форумчанин
 
Аватар для Warn
 
Регистрация: 03.11.2011
Сообщений: 230
Вопрос Как превратить Extended в Integer?

Как превратить Extended в Integer ?

к примеру.
code:: process (Speed / 2 - 50);
компилятор будет ругаться на несовместимость Extended и Integer.

code:: process ( Integer(Speed / 2) - 50); - invalid cast, но тогда как это делается? ф-я?
Warn вне форума Ответить с цитированием
Старый 03.11.2011, 23:00   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Round, Trunc
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 03.11.2011, 23:28   #3
Warn
Форумчанин
 
Аватар для Warn
 
Регистрация: 03.11.2011
Сообщений: 230
По умолчанию

спасибо,
у меня еще вопрос, а только таким образом и более никак?
т.е типы преобразуются только с помощью вызова сторонних функций?
И без вызова ф-и преобразования никак не обойтись?
Warn вне форума Ответить с цитированием
Старый 03.11.2011, 23:50   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

никак не обойтись
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 04.11.2011, 05:46   #5
Хамяг
Форумчанин
 
Аватар для Хамяг
 
Регистрация: 22.08.2008
Сообщений: 105
По умолчанию

преобразовать (а точнее "приводить") типы можно только между порядковыми и указателями, а также можно приводить строки к PChar.

порядковые типы - целые (Integer), логические (Boolean), диапазон (0..10), перечислимый (TBorderStyle) и символьный (Char).
указатели - Pointer, типизированные (PChar, PInteger), динамические массивы (array of Integer), а также все объекты.
указатели можно приводить к порядковым и обратно. в скобках указал примеры.
можно также преобразовывать String в PChar: запись PChar(s) эквивалентна @S[1].

может, что-то упустил. хоть это и не спрашивали, но всё равно решил написать на будущее.

т.е. привести порядковый тип к вещественному никак нельзя. и наоборот. только через функции.
Хамяг вне форума Ответить с цитированием
Старый 04.11.2011, 09:04   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
т.е типы преобразуются только с помощью вызова сторонних функций?
И без вызова ф-и преобразования никак не обойтись?
Разве что ты напишешь пару строк кода на ассемблере, задействовав сопроцессор для округления )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как умножить переменную типа byte на integer или extended (Delphi 7) IronFire Помощь студентам 2 23.10.2010 18:04
Incompatible types: 'Integer' and 'Extended'.. zak_87 Общие вопросы Delphi 3 06.10.2010 15:25
Incompatible types: 'Integer' and 'Extended' evgenext Общие вопросы Delphi 9 05.07.2010 08:03
Integer and Extended,в чем дело? Ciberal Общие вопросы Delphi 3 31.10.2008 19:06