Как получить дробную часть у числа с плавающей запятой?
что значит извлечь? вы хотите получить только дробную часть?
20 янв 2017 в 14:20
да, только дробную
20 янв 2017 в 14:20
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Используйте функцию modf . Стоит учитывать, что знак дробной части будет такой же как знак исходного числа. Для отрицательных чисел, дробная часть будет отрицательной.
float money; double fractpart, intpart; money = 8.12; fractpart = modf(money, &intpart); printf("Integral part = %lf\n", intpart); printf("Fraction Part = %lf \n", fractpart);
Отслеживать
ответ дан 20 янв 2017 в 14:24
Mikhail Vaysman Mikhail Vaysman
14.2k 1 1 золотой знак 21 21 серебряный знак 31 31 бронзовый знак
для отрицательных может работать немного неожиданно. Да и money — (int)money как-то привычнее.
20 янв 2017 в 14:27
что вы имеете в виду под неожиданно?
20 янв 2017 в 14:29
отрицательная дробная часть например. Как бы многие знакомые с математикой предполагают, что дробная часть строго меньше 1 и больше или равна 0.
Как получить дробную часть числа?

- C++
Не могу, понять как компьютер перемещает свой знак?
- 1 подписчик
- 16 часов назад
- 76 просмотров

- C++
- +2 ещё
Почему не компилируется код C++ в VS code/Platformio?
- 1 подписчик
- 19 часов назад
- 65 просмотров

- C++
Что быстрее индексы или указатели?
- 1 подписчик
- 03 янв.
- 172 просмотра

- C#
- +4 ещё
Как реализовать движение частиц в векторном поле или сплошной среде?
- 1 подписчик
- 03 янв.
- 106 просмотров

- Windows
- +2 ещё
Как отлавливать курсор при наведении на дочернее окно?
- 1 подписчик
- 02 янв.
- 118 просмотров

- C++
Как обеспечивается совместимость динамических библиотек при ликовке в рантайме?
- 3 подписчика
- 30 дек. 2023
- 312 просмотров

- C++
Как установить библиотеку c++ если в папке lib пусто и при запуске ошибка LINK2019?
- 1 подписчик
- 29 дек. 2023
- 57 просмотров

- C++
Как лучше добавить перед структурой ещё одну и поместить в массив?
- 1 подписчик
- 29 дек. 2023
- 71 просмотр

- C++
Почему прога билдится, но не запускается?
- 1 подписчик
- 28 дек. 2023
- 97 просмотров

- C++
- +1 ещё
Какие хорошие ресурсы для изучения c++?
- 2 подписчика
- 28 дек. 2023
- 240 просмотров
Bell Integrator • Екатеринбург
До 150 000 ₽
Bell Integrator • Санкт-Петербург
До 150 000 ₽
До 150 000 ₽
08 янв. 2024, в 17:01
10000 руб./за проект
08 янв. 2024, в 17:00
3000 руб./за проект
08 янв. 2024, в 16:52
1500 руб./в час
Минуточку внимания
Присоединяйтесь к сообществу, чтобы узнавать новое и делиться знаниями
- Есть ли не официальные аналоги миджорни апи?
- 3 подписчика
- 1 ответ
- 4 подписчика
- 1 ответ
- 3 подписчика
- 0 ответов
- 3 подписчика
- 3 ответа
- 2 подписчика
- 0 ответов
- 2 подписчика
- 4 ответа
- 2 подписчика
- 3 ответа
- 2 подписчика
- 1 ответ
- 2 подписчика
- 0 ответов
- 2 подписчика
- 2 ответа
Modf – разделяет число на целую и дробную части

Функция modf() позволяет разделить число типа double на целую и дробную части. Целая часть помещается в iptr, а дробная возвращается. Метод modf имеет реализацию, которая использует Streaming SIMD Extensions 2 (SSE2). C++ допускает вызов перегрузки modf, которая принимает и возвращает параметры типа float или long double. В приложении на языке программирования C функция modf всегда принимает на вход два двойных значения, а возвращает двойное значение.
Синтаксис
#include float modff(float x, float *iptr); double modf(double x, double *iptr); long double modfl(long double x, long double *iptr); //x – число, которое требуется разделить на две части: целую дробную //iptr – указатель на переменную, содержащую целую часть числа xПрототип
Название Язык math.h С cmath С++ Возвращаемое значение
Метод modf() возвращает целую и дробную части в виде двух элементов, возвращаемое значение которых имеют один и тот же знак. Целая часть x возвращается в виде вещественного числа.
Обработка ошибок
- Если x равно ±0, возвращается ±0, а ±0 сохраняется в *iptr.
- Если x равно ±∞, возвращается ±0, а ±∞ сохраняется в *iptr.
- Если x равно NaN, возвращается NaN, а NaN сохраняется в *iptr.
Возвращаемое значение x является точным, а округление игнорируется.
Переносимость
Функция modf уникальна для DOS.
Пример
#include double func, integer; double number = StrToFloat(Edit1->Text); func = modf(number,&integer); Edit2->Text = integer; Edit3->Text = func;Как получить дробную часть числа в c
Форумчанин
Регистрация: 16.01.2008
Сообщений: 288
Дробная часть числа
Подскажите, какая фунция в Си выделяет дробную часть числа(типа Frac в Паскале)
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
Смотрите help по modf
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
#include int main()
Регистрация: 18.01.2008
Сообщений: 1,720
Сообщение от Carbon
#include int main()
Нельзя, если x < 0
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
#include int main()
Регистрация: 26.07.2009
Сообщений: 1
Первый вариант был правильнее, не надо fabs.
adminish4e Посмотреть профиль Найти ещё сообщения от adminish4e Форумчанин
Регистрация: 02.02.2010
Сообщений: 305
Нет, флур здесь не катит!
google#include void main()
Skype: CODERua
Последний раз редактировалось [CODER]; 09.11.2010 в 18:54 .
Форумчанин
Регистрация: 26.09.2010
Сообщений: 570
остаток от деления — (число 1)%(число 2)
отбросить все что после запятой — int ((число 1)/(число 2))Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQueryФорумчанин
Регистрация: 02.02.2010
Сообщений: 305
что то, я ниче не понял
припустим «число 1» — это то вещественное число от которого нам нужно найти вещественную часть. (на сколько я знаю у вещественных числах нельзя найти остаток от деления!)
что есть — «число 2»?Skype: CODERua