![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| ArtiSoft |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 10.12.2009 Репутация: нет Всего: нет |
Привет всем, ребята как можно округлить вещественное число до 1000х, например число Х=3.8471236747623, и хочу преобразовать 4 знаков после точки;
Х=3.8471. Вот я в пишу прогу таким образом:
Так нельзя, Есть варианты? |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
Есть глупый вариант, но вроде работающий:
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Guedda |
|
|||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: 1 Всего: 78 |
Десятитысячных, ты хотел сказать. Если тебе необходимо это выводить в строку, то FloatToStrF тебе поможет. -------------------- Ll 2 |
|||
|
||||
| amsoft |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 201 Регистрация: 17.10.2009 Где: KZ, Astana Репутация: 1 Всего: 4 |
можно еще так:
Добавлено через 3 минуты и 20 секунд Данкинг, твой вариант подойдет, если перед запятой только одна цифра Это сообщение отредактировал(а) amsoft - 12.12.2009, 15:56 --------------------
"Кто бы ты ни был - не думай о себе слишком"Дельфин |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
amsoft, да, действительно. Тогда надо позицию запятой определять.
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 9 Всего: 58 |
ArtiSoft, ИМХО для переменных это смысла не имеет, а при выводе (в строку) можно делать как сказал Guedda или так:
|
|||
|
||||
| amsoft |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 201 Регистрация: 17.10.2009 Где: KZ, Astana Репутация: 1 Всего: 4 |
набросал функцию:
, где X - округляемое число, Y - кол-во знаков после запятой --------------------
"Кто бы ты ни был - не думай о себе слишком"Дельфин |
|||
|
||||
| profesiachuvak |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 283 Регистрация: 7.11.2009 Где: Беларусь, Минск Репутация: 1 Всего: 4 |
ArtiSoft, если round(); нельзя, то может быть можно roundto();?? Не знаю точно что Вам надо, но предложу: Общая форма фун-ции roundto() (модуль math):
Пример:
з.ы. Только помните про коварное Banker’s Rounding (бухгалтерское округление -------------------- Закон Мерфи :если есть вероятность того, что какая-нибудь неприятность может случиться, то она обязательно произойдет. |
||||||
|
|||||||
| Teleport |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 5.7.2008 Где: Прибалтика Репутация: 1 Всего: 6 |
В своих проектах использую следующую функцию - никогда сбоев не замечал. И работает как ожидаешь. И никаких Banker’s Rounding
Поправлюсь: функция, которую я привел дает значения, отличные от значений калькулятора - после 9-го знака... Функция, которую привел amsoft - дает те же значения, что и калькулятор. Это сообщение отредактировал(а) Teleport - 14.12.2009, 01:36 |
|||
|
||||
| amsoft |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 201 Регистрация: 17.10.2009 Где: KZ, Astana Репутация: 1 Всего: 4 |
Teleport, а так короче
--------------------
"Кто бы ты ни был - не думай о себе слишком"Дельфин |
|||
|
||||
| ArtiSoft |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 10.12.2009 Репутация: нет Всего: нет |
Спасибо всем))) помогло
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |