![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
chipset |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 164 |
Округление чисел
Используя функцию, приведённую ниже, можно округлить число типа double с требуемой точностью. Округлять можно по двум правилам: 1) то, чему нас учили в школе: если округляем до двух знаков после запятой, то сотые доли либо увеличиваются на 1, либо остаются без изменений - в зависимости от значений тысячных (если 4 тысячных - то оставляем сотые как есть, если больше 5-ти - увеличиваем сотые на 1, если 5 - то смотрим десятитысячные), все цифры правее сотых - отбрасываются; 2) простое отбрасывание всех цифр, правее указанной (если округляем до сотых, то тысячные и т.п. -- отбрасываются). Для первого варианта округления, параметр nType должен быть равен ROUND_UP, для второго варианта - ROUND_TRIM. Параметр nPrecis задаёт количество знаков после запятой (номер цифры после запятой, до которой округляется число).
Проверка "целое ли число" Следующая функция возвращает true, если число целое (не имеет знаков правее запятой), и false -- если дробное. Отличие данной функции от простого выражения ((double)(int) fValue) == fValue ? true:false состоит в том, что она позволяет работать с числами, бОльшими чем позволяет формат int (например, не зная точно, больше число по модулю, чем 2 триллиона, или нет - сложно определить, сработает ли выражение приведенное выше, требуется ещё рад проверок). Итак, функция для проверки, целое или дробное число Value:
--------------------
|
||||||
|
|||||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |