lround, lroundf, lroundl – округление до ближайшего целого
Синтаксис:
#include < math.h >
long int lround (double x);
long int lroundf (float x);
long int lroundl (long double x);
Аргументы:
x – число, которое необходимо округлить.
Возвращаемое значение:
Если результат округления лежит в диапазоне значений возвращаемого числа (32 разрядного целого числа), то возвращается округленный аргумент.
Если значение аргумента слишком большое, то возвращаемое значение будет не определено, а переменной errno будет присвоен код ошибки EDOM.
Описание:
Функции округляют аргумент x до ближайшего целого числа. Если округляемый аргумент отстоит от наибольшего и наименьшего целого на одну и ту же величину, то округления произведется до ближайшего большего целого числа.
Будьте внимательны. В этих функциях аргумент описан числом с плавающей точкой а возвращаемое значение целым 32-разрядным числом. Причем диапазон значений аргумента больше, чем возвращаемого значения.
В функции lroundf аргумент задается типом float, точность которого не меньше шести значащих десятичных цифр, а разрядность – 32.
В функции lround аргумент задается типом double, точность которого не меньше десяти значащих десятичных цифр, а разрядность – 64.
В функции lroundl аргумент задается типом long double, точность которого не меньше десяти значащих десятичных цифр, а разрядность - 80.
Пример:
В примере число 17.83 округляется с помощью функций lround, lroundf, lroundl и результат выводится на консоль.
#include < stdio.h > //Для printf
#include < math.h > //Для lround, lroundf, lroundl
int main (void)
{
//Вывод значения аргумента
printf (“Аргумент: 17.83\n”);
//Расчет и вывод результата работы функции lroundf
printf (“lroundf : %ld\n”, lroundf (17.83) );
//Расчет и вывод результата работы функции lround
printf (“lround : %ld\n”, lround (17.83) );
//Расчет и вывод результата работы функции lroundl
printf (“lroundl : %ld\n”, lroundl (17.83) );
return 0;
}
| |
Результат:
Аргумент: 17.83
lroundf : 18
lround : 18
lroundl : 18
|
Смотри так же:
ceil, ceilf, ceill
floor, floorf, floorl
round, roundf, roundl
lround, lroundf, lroundl
llround, llroundf, llroundl
trunc, truncf, truncl
modf, modff, modfl
nearbyint, nearbyintf, nearbyintl
rint, rintf, rintl
fegetround
fesetround
lrint, lrintf, lrintl
llrint, llrintf, llrintl
|