![]() |
|
Модераторы: bsa |
![]()
|
|
| heforma |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 9.8.2011 Репутация: нет Всего: нет |
Здравствуйте, у меня возникли проблемы при переводе из double в int =( помогите пожалуйста.
Если вводимым числом принять 1.445 а количество знаков будет равно 3 то в результате я получаю 444 вместо ожидаемых 445 почему так и что сделать что бы вычленить из подобного числа дробную часть? За ранее благодарен! Это сообщение отредактировал(а) heforma - 16.9.2011, 05:40 |
|||
|
||||
| Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 4 Всего: 49 |
Ваше число 1.445 наверняка выглядит на самом деле как 1.4449999999999 или что-то в этом роде. Соответственно, надо выделить еще одну цифру, кроме требуемых, и если она лежит в пределах от 5 до 9, добавить к последней выводимой цифре единицу.
|
|||
|
||||
| heforma |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 9.8.2011 Репутация: нет Всего: нет |
Число выглядит вот так "1.445111" а создаваемая мною программа должна обрезать дробь до нужного размера и округлять её.
Даже при вводе числа 1.445 я получаю 444 вместо нужных мне 445 =( Почему числа округляются? и странным способом? Это сообщение отредактировал(а) heforma - 16.9.2011, 00:45 |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
heforma, поможет понять чтение о представленнии чисел с плавающей запятой и нюансах их использования.. Это сообщение отредактировал(а) mes - 16.9.2011, 08:08 |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Потому что это арифметика с плавающей точкой. А потом, выполняя несколько операций умножения ты снижаешь точность. На твоем бы месте, я делал как-то так:
Это сообщение отредактировал(а) bsa - 16.9.2011, 08:31 |
|||
|
||||
| heforma |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 9.8.2011 Репутация: нет Всего: нет |
bsa, огромное вам спасибо! Вы мне очень помогли! СПАСИБО! =)
Спасибо всем за отклик, ваша информация очень полезна для меня! =) |
|||
|
||||
![]()
|
| Правила форума "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. |