rint, rintf, rintl
Zaokrągla wartość zmiennoprzecinkowa do najbliższej liczby całkowitej w formacie zmiennoprzecinkowych.
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
Wartość zmiennoprzecinkowa do zaokrąglenia.
Wartość zwracana
Funkcje rint zwracają wartość zmiennoprzecinkową, która reprezentuje liczbę całkowitą najbliższą wartości x.Połowie wartości są zaokrąglone zgodnie z bieżącego ustawienia trybu zaokrąglania zmiennoprzecinkowych, taki sam jak nearbyint funkcji.W odróżnieniu od nearbyint funkcji, rint funkcje mogą podwyższyć FE_INEXACT zmiennoprzecinkowych wyjątek, jeśli wynik różni się w wartości z argumentu.Nie będzie zwrotu błędu.
Dane wejściowe |
Wyjątek SEH |
_matherr Wyjątek |
---|---|---|
∞; GRANICACH, QNAN, ZNAJDŹ |
brak |
brak |
Denormals |
EXCEPTION_FLT_UNDERFLOW |
brak |
Uwagi
Ponieważ C++ pozwala na przeciążenie, można wywoływać przeciążenia rint przyjmujące i zwracające wartości float i long double.W programie C rint zawsze przyjmuje i zwraca double.
Wymagania
Funkcja |
Nagłówek C |
Nagłówek języka C++ |
---|---|---|
rint, rintf, rintl |
< math.h > |
< cmath > |
Dodatkowe informacje o zgodności – zobacz: Zgodność.
Przykład
// 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));
}
Odpowiednik w programie .NET Framework
Zobacz też
Informacje
Obsługa liczb zmiennoprzecinkowych
lround, lroundf, lroundl, llround, llroundf, llroundl