function
<cmath> <ctgmath>
lround
long int lround (double x);
long int lroundf (float x);
long int lroundl (long double x);
long int lround (double x);
long int lround (float x);
long int lround (long double x);
long int lround (T x); // additional overloads for integral types
Round to nearest and cast to long integer
Returns the integer value that is nearest in value to x, with halfway cases rounded away from zero.
The rounded value is returned as a value of type long int
. See llround for an equivalent function that returns a long long int
instead.
Header
<tgmath.h> provides a type-generic macro version of this function.
Additional overloads are provided in this header (
<cmath>
) for the
integral types: These overloads effectively cast
x to a
double
before calculations (defined for
T being any
integral type).
Parameters
- x
- Value to round.
Example
1 2 3 4 5 6 7 8 9 10 11 12
|
/* lround example */
#include <stdio.h> /* printf */
#include <math.h> /* lround */
int main ()
{
printf ( "lround (2.3) = %ld\n", lround(2.3) );
printf ( "lround (3.8) = %ld\n", lround(3.8) );
printf ( "lround (-2.3) = %ld\n", lround(-2.3) );
printf ( "lround (-3.8) = %ld\n", lround(-3.8) );
return 0;
}
| |
Possible output:
Rounding using to-nearest rounding:
lround (2.3) = 2
lround (3.8) = 4
lround (-2.3) = -2
lround (-3.8) = -4
|
See also
- lrint
- Round and cast to long integer (function
)
- round
- Round to nearest (function
)
- llround
- Round to nearest and cast to long long integer (function
)
- nearbyint
- Round to nearby integral value (function
)
- floor
- Round down value (function
)
- ceil
- Round up value (function
)
- trunc
- Truncate value (function
)