![]() |
|
Модераторы: bsa |
![]()
|
|
| susanin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 587 Регистрация: 7.10.2006 Где: Санкт-Петербург Репутация: 2 Всего: 7 |
здравствуйте, подскажите как можно в числе типа double выделить последний младший разряд? число заранее не известно, и сколько знаков после точки тоже неизвестно... к примеру имеем число 12.3245687 надо выделить 7 или 123.9876534 надо выделить 4...
|
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 19 Всего: 306 |
susanin, преобразовать в строку и заиметь последний ее элемент (без учета '\0'
|
|||
|
||||
| susanin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 587 Регистрация: 7.10.2006 Где: Санкт-Петербург Репутация: 2 Всего: 7 |
об этом я думал...а более гуманного способа нету? |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 19 Всего: 306 |
||||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 4 Всего: 459 |
Только нужно учесть что не все десятичные числа представимы непериодическими двоичными дробями, так что есть шанс получить не то число что ожидаешь. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 2 Всего: 207 |
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| eyeofhell |
|
|||
|
Адепт ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 16.10.2008 Где: Россия, Москва Репутация: 1 Всего: 1 |
Задача некорректная. В С++ числа с плавающей точкой не гарантируют точного представления. 12.324 / 2.0 может совершенно спокойно вернуть 6.1619999999999 или 6.16200000000001.
Так что имеет смысл просто округлять до нужного знака после запятой. |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 19 Всего: 306 |
eyeofhell, а кто говорит об округлении. просят заиметь последнюю цифирь в переменной.
Добавлено @ 12:51 и все таки комрады чем плохо делать так:
Это сообщение отредактировал(а) mrbrooks - 22.10.2008, 12:52 |
|||
|
||||
| eyeofhell |
|
|||
|
Адепт ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 16.10.2008 Где: Россия, Москва Репутация: 1 Всего: 1 |
В зависимости от реализации sprintf() в реальной жизни очень легко получить XX.XXX99999999 или XX.XXX00000001. Сомневаюсь что это то что нужно |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 19 Всего: 306 |
||||
|
||||
![]()
|
| Правила форума "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. |