6.11.124 lrint Function

Returns the double precision floating-point argument rounded to the nearest integer value.

Include

<math.h>

Prototype

long int lrint(double x);

Argument

x
the value to round

Return Value

Returns the value of x rounded to the nearest integer value using the current rounding direction. The rounded integer is returned as a long integer value.

Remarks

The value returned is unspecified if the rounded value is outside the range of the return type.

Example

See the notes at the beginning of this chapter or section for information on using printf() or scanf() (and other functions reading and writing the stdin or stdout streams) in the example code.

#include <math.h>
#include <stdio.h>

int main(void)
{
  double x;
  long int y;

  x = 10.103;
  y = lrint(x);
  printf("The nearest integer value to %f is %ld\n", x, y);

  x = 10.51;
  y = lrint(x);
  printf("The nearest integer value to %f is %ld\n", x, y);
}

Example Output

The nearest integer value to 10.103000 is 10
The nearest integer value to 10.510000 is 11