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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.06.2010, 00:16   #1
prod87
Пользователь
 
Регистрация: 24.10.2009
Сообщений: 48
По умолчанию Убрать дробную часть

Подскажите:

Есть переменная типа real со значение 5,12

Какая функция уберет у нее дробнуючасть т.е.

сделает из 5,12 значение 5 типа integer?
prod87 вне форума Ответить с цитированием
Старый 15.06.2010, 00:23   #2
baster128
Форумчанин
 
Аватар для baster128
 
Регистрация: 24.04.2010
Сообщений: 205
По умолчанию

Round(Per:real); уберет дробную часть, округлив значение до ближайшего целого.
baster128 вне форума Ответить с цитированием
Старый 15.06.2010, 00:31   #3
prod87
Пользователь
 
Регистрация: 24.10.2009
Сообщений: 48
По умолчанию

Спасибо большое
prod87 вне форума Ответить с цитированием
Старый 15.06.2010, 00:39   #4
Don Karleone
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 410
По умолчанию

Цитата:
Сообщение от baster128 Посмотреть сообщение
Round(Per:real); уберет дробную часть, округлив значение до ближайшего целого.
именно округлив до ближайшего целого!!! Если у вас будет значение 5,51 то результатом применения функции round будет число 6. Если требуется оставить целую часть числа, то надо применять функцию trunc. Она отбрасывает друбную часть.
ICQ: 593-013-807
Don Karleone вне форума Ответить с цитированием
Старый 15.06.2010, 00:39   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а функция TRUNC() отбросит дробную часть, сделав из действительного числа - целое.
т.е.
round(5.7) -> 6.
trunc(5.7) => 5
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.06.2010, 00:57   #6
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Цитата:
Round(Per:real); уберет дробную часть, округлив значение до ближайшего целого.
Эм..... Насколько я помню - в Делфи до ближайшего чётного целого...

Про Trunc() уже сказали, дополню на всякий случай:

Trunc(x+0.5) - математическое округлние.
Frac(x) - отбрасывание целой части.
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 15.06.2010, 06:57   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

надо же, такой простой вопрос и такая дискуссия

Цитата:
Насколько я помню - в Делфи до ближайшего чётного целого...
Ну это в случае чисел, оканчивающихся на .5
например,
round(2.501) - получаем 3
round(2.5) - получаем 2
round(3.5) - получаем 4
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
полностью убрать дробную часть числа Rainz Паскаль, Turbo Pascal, PascalABC.NET 23 02.06.2010 19:17
как отбросить целую часть оставив дробную Alex26RusLink Паскаль, Turbo Pascal, PascalABC.NET 1 24.10.2009 11:36
простой вопрос - как получить дробную часть Inta Microsoft Office Excel 2 19.11.2008 22:11
отделить дробную часть от числа |v||v|<<IpShot Общие вопросы C/C++ 19 24.09.2008 18:21
подскажите какая процедура округляет дробные числа , а не откидывает дробную часть, к ***СкаЙ*** Помощь студентам 5 13.06.2007 16:03