rint, lrint, llrint
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   Defined in header  
<math.h>
  | 
||
|   int rintf( float arg ); 
 | 
(since C99) | |
|   int rint( double arg ); 
 | 
(since C99) | |
|   int rintl( long double arg ); 
 | 
(since C99) | |
|   long lrintf( float arg ); 
 | 
(since C99) | |
|   long lrint( double arg ); 
 | 
(since C99) | |
|   long lrintl( long double arg ); 
 | 
(since C99) | |
|   long long llrintf( float arg ); 
 | 
(since C99) | |
|   long long llrint( double arg ); 
 | 
(since C99) | |
|   long long llrintl( long double arg ); 
 | 
(since C99) | |
Rounds the floating-point argument arg to an integer value in floating-point format, using the current rounding mode. If the result differs from arg (i.e., arg was not an integer value already), the floating-point exception FE_INEXACT is raised.
Contents | 
[edit] Parameters
| arg | - | floating point value | 
[edit] Return value
The integer result of rounding arg
[edit] Notes
The only difference between nearbyint and rint is that rint may raise the FE_INEXACT floating-point exception, while nearbyint never raises it.
[edit] Example
| This section is incomplete Reason: no example  | 
[edit] See also
|    (C99) 
 | 
   nearest integer using current rounding mode   (function)  | 
|    (C99) 
 | 
   nearest integer not greater in magnitude than the given value   (function)  |