Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The latest version of this topic can be found at rint, rintf, rintl.
Rounds a floating-point value to the nearest integer in floating-point format.
Syntax
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 );
Parameters
x
The floating-point value to round.
Return Value
The rint
functions return a floating-point value that represents the nearest integer to x
. Halfway values are rounded according to the current setting of the floating-point rounding mode, the same as the nearbyint
functions. Unlike the nearbyint
functions, the rint
functions may raise the FE_INEXACT
floating-point exception if the result differs in value from the argument. There is no error return.
Input | SEH Exception | _matherr Exception |
---|---|---|
± ∞, QNAN, IND | none | none |
Denormals | EXCEPTION_FLT_UNDERFLOW | none |
Remarks
Because C++ allows overloading, you can call overloads of rint
that take and return float
and long double
values. In a C program, rint
always takes and returns a double
.
Requirements
Function | C header | C++ header |
---|---|---|
rint , rintf , rintl |
<math.h> | <cmath> |
For additional compatibility information, see Compatibility.
Example
// 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));
}
rint
(2.499999) is 2
rint
(-2.499999) is -2
rintf
(2.800000) is 3
rintf
(-2.800000) is -3
rintl
(2.500000) is 3
rintl
(-2.500000) is -3
.NET Framework Equivalent
See Also
Floating-Point Support
ceil, ceilf, ceill
floor, floorf, floorl
fmod, fmodf
lrint, lrintf, lrintl, llrint, llrintf, llrintl
lround, lroundf, lroundl, llround, llroundf, llroundl
nearbyint, nearbyintf, nearbyintl
rint