Форум программистов, компьютерный форум CyberForum.ru

Округление Long double. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Bazan
22 / 22 / 0
Регистрация: 15.04.2009
Сообщений: 100
11.11.2010, 20:31     Округление Long double. #1
Нужно округлить число типа long double в меньшую сторону т.е. просто обнулить всю дробную часть, но при этом надо сохранить эту самую дробную часть в другую переменную. Ничего похожего гугл не нашел.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2010, 20:31     Округление Long double.
Посмотрите здесь:

описание long double в С C++
C++ Long Double
Округление double C++
Double, int , long double C++
C++ long double и double в MSVC 12 одно и тоже, нужна информация,желательно быстрей
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
11.11.2010, 20:39     Округление Long double. #2
Плохо искали.
modf
Правда для LD в чистом Си не покатит. Приведите к double.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
11.11.2010, 20:42     Округление Long double. #3
Bazan, по крайней мере в BSD системах (не поверите, но ничего другого, чтобы проверить, сейчас под рукой нет) есть функция
C
1
long double floorl(long double x);
которая собственно и отбрасывает дробную часть long double значения, то есть дробную часть можно получить так:
C
1
2
3
4
5
6
#include <math>
...
long double num;
// задать значение num
...
long double fract = (num - floorl(num));
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
11.11.2010, 20:46     Округление Long double. #4
easybudda, А по стандарту Си только для double есть функция floor.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
11.11.2010, 20:53     Округление Long double. #5
Цитата Сообщение от ForEveR Посмотреть сообщение
А по стандарту Си только для double есть функция floor.
это по ANSI C 89, а в ANSI C 99 есть и floorl()... У мелкомягких, которым C 99 не указ, наверняка свой какой-нибудь велосипед имеется...
Yandex
Объявления
11.11.2010, 20:53     Округление Long double.
Ответ Создать тему
Опции темы

Текущее время: 17:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru