Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Округляет указанное значение с плавающей запятой до ближайшего целого значения, используя текущие режим и направление округления.
Синтаксис
long int lrint(
double x
);
long int lrint(
float x
); //C++ only
long int lrint(
long double x
); //C++ only
long int lrintf(
float x
);
long int lrintl(
long double x
);
long long int llrint(
double x
);
long long int llrint(
float x
); //C++ only
long long int llrint(
long double x
); //C++ only
long long int llrintf(
float x
);
long long int llrintl(
long double x
);
#define lrint(X) // Requires C11 or later
Параметры
x
Значение для округления.
Возвращаемое значение
В случае успешного выполнения возвращает округленное целочисленное значение x.
| Проблема | Возврат |
|---|---|
x находится за пределами диапазона типа возвращаемого значенияx = ±INFx = не число |
FE_INVALID Вызывает и возвращает ноль (0). |
Замечания
Так как C++ позволяет перегружать, можно вызывать перегрузкиlrint, которые принимают float и llrint long double типы. В программе C, если вы не используете <макрос tgmath.h> для вызова этой функции и lrint llrint всегда принимаете .double
Если вы используете <макрос tgmath.h>llrint() , тип аргумента определяет, какая версия функции выбрана. Дополнительные сведения см . в разделе "Математика с универсальным типом".
Если x значение целочисленного значения не представляет эквивалент с плавающей запятой, эти функции вызываются FE_INEXACT.
Корпорация Майкрософт: если результат выходит за пределы диапазона возвращаемого типа или когда параметр является naN или бесконечностью, то возвращается значение, определенное. Компилятор Майкрософт возвращает нулевое значение (0).
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.
Требования
| Function | Заголовок C | Заголовок C++ |
|---|---|---|
lrint, , lrintfllrintlrintlllrintf,llrintl |
<math.h> | <cmath> |
lrintМакрос |
<tgmath.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.