![]() |
|
Модераторы: 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 секунд Хм, а теперь нормально отображает о_О в чём отличие от моего цикла? |
|||
|
||||
![]()
|
| Правила форума "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. |