lrint
, lrintf
, lrintl
, llrint
, , llrintf
llrintl
Zaokrouhlí zadanou hodnotu s plovoucí desetinou čárkou na nejbližší celočíselnou hodnotu pomocí aktuálního režimu zaokrouhlování a směru.
Syntaxe
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 higher
Parametry
x
Hodnota, která se má zaokrouhlit.
Vrácená hodnota
V případě úspěchu vrátí zaokrouhlenou celočíselnou hodnotu x
.
Problém | Zpět |
---|---|
x je mimo rozsah návratového typu.x = ±INFx = NaN |
FE_INVALID Vyvolá a vrátí nulu (0). |
Poznámky
Vzhledem k tomu, že jazyk C++ umožňuje přetížení, můžete volat přetížení lrint
a llrint
tyto přebírají float
a long double
typy. Pokud v programu jazyka C nepoužíváte <makro tgmath.h> k volání této funkce, lrint
a llrint
vždy pořiďte .double
Pokud použijete <makro tgmath.h>llrint()
, typ argumentu určuje, která verze funkce je vybrána. Podrobnosti najdete v tématu Matematika pro obecné typy.
Pokud x
nepředstavuje ekvivalent s plovoucí desetinou čárkou celočíselné hodnoty, tyto funkce umocní FE_INEXACT
.
Specifické pro Microsoft: Pokud je výsledek mimo rozsah návratového typu nebo pokud je parametr NaN nebo nekonečno, je vrácená hodnota definována implementace. Kompilátor Microsoftu vrátí nulovou hodnotu (0).
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Požadavky
Function | Záhlaví jazyka C | Hlavička jazyka C++ |
---|---|---|
lrint , lrintf , lrintl , llrint , , llrintf llrintl |
<math.h> | <cmath> |
lrint makro |
<tgmath.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.