![]() |
|
Модераторы: bsa |
![]()
|
|
| Salatovec |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 9.1.2008 Репутация: нет Всего: -1 |
Доброго всем времени суток, вот отрезок кода:
в цикле считаю некоторые параметры и вывожу их в Мемо в билдере, в частности вывожу t и получается, что в какой-то момент начинают выскакивать значения t типа 0,00670000000000001 или 0,00999999999999999. Почему так происходит? Эти значения не просто мозолят глаза, но и портят программу. Заранее спасибо! Это сообщение отредактировал(а) Salatovec - 4.8.2009, 09:12 |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
это бесконечный цикл, что, так и должно быть? В какой момент это происходит? Это сообщение отредактировал(а) azesmcar - 4.8.2009, 09:53 |
|||
|
||||
| Salatovec |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 9.1.2008 Репутация: нет Всего: -1 |
Цикл завершается, когда в нем параметр скорости достигает нуля, а выводятся результаты каждой итерации, в частности:
Это сообщение отредактировал(а) Salatovec - 4.8.2009, 11:06 |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
Salatovec
Скорее всего проблема в конвертации из double во float (функция принимает float а передается ей double). |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 1 Всего: 146 |
специфика работа с числами с плавающей точкой выход округляй результат перед выводом ..... -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Salatovec |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 9.1.2008 Репутация: нет Всего: -1 |
Округлял, делал так FloatToStrF(t,ffFixed,1,4). Вначале все нормально, а потом там, где должны идти числа :
0,0110 0,0120 0,0130 и т.д. идут: 0.0100 0.0100 0.0100 Это и портит программу ( |
|||
|
||||
| andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 10 Всего: 33 |
-------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
| azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
и еще
Это сообщение отредактировал(а) azesmcar - 4.8.2009, 12:31 |
||||
|
|||||
| Salatovec |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 9.1.2008 Репутация: нет Всего: -1 |
С float та же тема =\
|
|||
|
||||
| andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 10 Всего: 33 |
Salatovec, В смысле?
В приведенном тобой коде, заменил double на float? -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
| Salatovec |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 9.1.2008 Репутация: нет Всего: -1 |
Угу, или я неправильно понял? |
|||
|
||||
| Friackazoid |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 148 Регистрация: 23.2.2006 Репутация: нет Всего: 3 |
Замени float на double и никогда больше не используй эту пакость.
--------------------
Даже если тебя съели, то все равно есть два выхода.42Team блог |
|||
|
||||
| Salatovec |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 9.1.2008 Репутация: нет Всего: -1 |
Итак в начале использовал double, ни то, ни то не пашет (((
|
|||
|
||||
| andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 10 Всего: 33 |
Добавлено через 1 минуту и 25 секунд Тебе уже объяснили почему так происходит. -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
| Salatovec |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 9.1.2008 Репутация: нет Всего: -1 |
А зачем char buff[32] = "\0"; ?
Добавлено через 1 минуту и 58 секунд Хм, а теперь нормально отображает о_О в чём отличие от моего цикла? |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
Ну это было предположение, я на самом деле сейчас не уверен что функция FloatToStr принимает float (хотя хрен его знает). Проверить не могу. покажи полный код (а именно, цикл, конвертацию, вывод, условие выхода из цикла). Это сообщение отредактировал(а) azesmcar - 4.8.2009, 13:50 |
|||
|
||||
| andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 10 Всего: 33 |
-------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
| Salatovec |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 9.1.2008 Репутация: нет Всего: -1 |
Это сообщение отредактировал(а) Salatovec - 4.8.2009, 13:56 |
|||
|
||||
| andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 10 Всего: 33 |
По моему, это чисто боландовская функция. А чё они там наворотили, хз* Добавлено через 4 минуты и 17 секунд Скинь описание функции FloatToStr() -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 1 Всего: 146 |
extern PACKAGE AnsiString __fastcall FloatToStrF(Extended Value, TFloatFormat Format, int Precision, int Digits);
Precision точность Digits кол-во цифр -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Salatovec |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 9.1.2008 Репутация: нет Всего: -1 |
о_О во спасибо
|
|||
|
||||
| andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 10 Всего: 33 |
Понятно.
Тему закрывай. -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |