| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Перевод float в 2 переменные |
| Автор: _nIx_ 11.9.2006, 17:26 |
| В общем , например , имеется float X1 = 16.15. Как вынести из нее,все что стоит до точки в одну переменную, и все что стоит после точки в другую переменную? |
| Автор: CaptainFlint 11.9.2006, 17:32 | ||
Смотря какие ограничения на величину числа. Если числа небольшие, подойдёт простейший вариант:
В противном случае придётся, наверное, пользоваться функциями из math.h для взятия целой/дробной части. |
| Автор: Athlon 11.9.2006, 17:37 | ||
если не ошибаюсь есть такая функция trunc, которая выделяет целую часть, что-то подобное:
P.S. а самый верный способ посмотреть в MSDN! |
| Автор: _nIx_ 13.9.2006, 10:31 |
| Да, спс всем...... преобразовать в целое? |
| Автор: Sceptik 13.9.2006, 11:02 |
| _nIx_, а как ты себе это представляешь? |
| Автор: CaptainFlint 13.9.2006, 11:03 |
Не понял. Какое конкретно целое число нужно получить из дробного 0.15? |
| Автор: vinter 13.9.2006, 11:36 | ||
наверное 15.. просто домножай на 10 в степени сколько у тебя цифр.. |
| Автор: _nIx_ 13.9.2006, 11:40 |
| Черт,перечитал свой пост,в общем обяснил я коряво. |
| Автор: Sceptik 13.9.2006, 11:56 |
| _nIx_, хм.. юзай std::map с ключом который твой остаток. |
| Автор: bsa 13.9.2006, 20:30 |
| _nIx_, понимаешь в чем дело, целое на то и целое, что у него нет дробной части. И если ты пытаешься преобразовать 0.15 к целому, ты получаешь (и вполне закономерно) результат 0. Если тебе из 0.15 надо получить целое число 15, то в этом случае просто умножаешь на 100: int i = (int)(0.15 * 100); Если же тебе надо 0.15 преобразовать к 1, а 0.5 к 10-ти, то тут логичнее уже использовать std:map... Но что-то мне подсказывает, что ты не то с самого начала делаешь. В моей практике такие задачи (использовать дробную часть в качестве индекса) не встречались, если честно. |
| Автор: zkv 13.9.2006, 23:10 |
присоединяюсь, _nIx_, может объяснишь зачем тебе все это, может тогда понятнее станет, или другой путь подскажут. |