rint, rintf, rintl
Zaokrouhlí číslo s plovoucí desetinnou čárkou na nejbližší celé číslo ve formátu s plovoucí desetinnou čárkou.
double rint( double x );
float rint( float x ); // C++ only
long double rint( long double x ); // C++ only
float rintf( float x );
long double rintl( long double x );
Parametry
- x
Hodnota s plovoucí desetinnou čárkou k zaokrouhlení.
Vrácená hodnota
Funkce rint vrací hodnotu s plovoucí desetinnou čárkou, která představuje celé číslo nejbližší x.Uprostřed hodnoty jsou zaokrouhleny podle aktuální nastavení s plovoucí desetinnou čárkou zaokrouhlení režimu, stejně jako nearbyint funkcí.Na rozdíl od nearbyint funkce, které rint funkce může zvýšit FE_INEXACT s plovoucí desetinnou čárkou výjimku, pokud výsledek se liší v hodnotě z argumentu.Není vrácena žádná chyba.
Vstup |
Výjimka SEH |
Výjimka _matherr |
---|---|---|
ROZMEZÍ ∞, QNAN, NAJÍT |
žádná |
žádná |
Denormals |
EXCEPTION_FLT_UNDERFLOW |
žádná |
Poznámky
Protože jazyk C++ umožňuje přetížení, můžete volat přetížení rint, která používají a vrací hodnoty float a long double.V programu v jazyce C rint vždy převezme a vrátí double.
Požadavky
Funkce |
C záhlaví |
Záhlaví C++ |
---|---|---|
rint, rintf, rintl |
< math.h > |
< cmath > |
Další informace o kompatibilitě naleznete v tématu Kompatibilita.
Příklad
// crt_rint.c
// Build with: cl /W3 /Tc crt_rint.c
// This example displays the rounded results of
// the floating-point values 2.499999, -2.499999,
// 2.8, -2.8, 2.5 and -2.5.
#include <math.h>
#include <stdio.h>
int main( void )
{
double x = 2.499999;
float y = 2.8f;
long double z = 2.5;
printf("rint(%f) is %.0f\n", x, rint (x));
printf("rint(%f) is %.0f\n", -x, rint (-x));
printf("rintf(%f) is %.0f\n", y, rintf(y));
printf("rintf(%f) is %.0f\n", -y, rintf(-y));
printf("rintl(%Lf) is %.0Lf\n", z, rintl(z));
printf("rintl(%Lf) is %.0Lf\n", -z, rintl(-z));
}
Ekvivalent v rozhraní .NET Framework
Viz také
Referenční dokumentace
Podpora plovoucí desetinné čárky
lround, lroundf, lroundl, llround, llroundf, llroundl