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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.08.2014, 12:59   #1
alman12
Форумчанин
 
Регистрация: 30.12.2013
Сообщений: 466
По умолчанию при вычисление не показались длинные дробные

как сделать чтобы при вычисление не показались длинные дробные числа в delphi вот так 0,8888888888888885
alman12 вне форума Ответить с цитированием
Старый 13.08.2014, 13:02   #2
mirkul
Пользователь
 
Регистрация: 16.07.2014
Сообщений: 62
Сообщение

Приведи к типу integer
mirkul вне форума Ответить с цитированием
Старый 13.08.2014, 13:06   #3
alman12
Форумчанин
 
Регистрация: 30.12.2013
Сообщений: 466
По умолчанию

тип real
в integer невозможна разделить
alman12 вне форума Ответить с цитированием
Старый 13.08.2014, 13:08   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а как что бы показалось?
Вот вместо этого числа Вы что увидеть хотите?
Вам просто округлить число надо?
Или отобразить округлённое?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.08.2014, 13:09   #5
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Можно попробовать RoundTo(число; кол-во_знаков); не забудьте модуль Math в uses.
Есть еще SimpleRoundTo(), округляет число всегда в большую сторону.
Оба варианта умеют округлять и целые.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 13.08.2014 в 13:11.
Utkin вне форума Ответить с цитированием
Старый 13.08.2014, 13:26   #6
StriderX
Форумчанин
 
Регистрация: 21.04.2014
Сообщений: 115
По умолчанию

Цитата:
Сообщение от alman12 Посмотреть сообщение
тип real
в integer невозможна разделить
real вроде на ЦПУ крутится в режиме эмуляции (могу врать, очень уж плохо это всё помню), лучше заменить его везде на double.
Для вывода на экран есть FormatFloat. На тему округлений желательно ознакомиться со справкой, чтобы типовой пример "1.5 - 2.5 = 0" не вызывал больших круглых глаз.
StriderX вне форума Ответить с цитированием
Старый 13.08.2014, 13:30   #7
alman12
Форумчанин
 
Регистрация: 30.12.2013
Сообщений: 466
По умолчанию

label7.Caption:=FloatToStr(result) + ' - ' +FloatToStr(y/Spinedit1.value) ;
как здес roundTO использовать ?
alman12 вне форума Ответить с цитированием
Старый 13.08.2014, 13:40   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
label7.Caption:=FloatToStr( RoundTo(result,3)) + ' - ' +FloatToStr(RoundTo(y/Spinedit1.value,3));
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.08.2014, 13:50   #9
alman12
Форумчанин
 
Регистрация: 30.12.2013
Сообщений: 466
По умолчанию

почему все 0, 0 показывает
alman12 вне форума Ответить с цитированием
Старый 13.08.2014, 13:52   #10
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Потому что надо так:
Код:
label7.Caption:=FloatToStr( RoundTo(result,3)) + ' - ' +FloatToStr(RoundTo(y/Spinedit1.value,-3));
FaTaL вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дробные числа с 5 сс в 3 сс KatCH Visual C++ 0 04.10.2012 21:56
Дробные результаты BoRRuS Microsoft Office Access 5 07.06.2010 06:27
Дробные числа Vitalik55 БД в Delphi 3 10.06.2009 23:08
Дробные на полусумму PbIska Помощь студентам 4 20.05.2009 17:40
Дробные числа EAAlien Общие вопросы Delphi 8 13.05.2008 19:09