# nearbyint() function in C++ with examples

In this tutorial, we are going to learn about the nearbyint() function in C++. This C++ function is defined in <cmath> header file.

As the name suggests, the nearbyint() function can be used in a C++ program to find the nearby integer value for a given number using the current rounding mode. The current rounding mode is based on fesetround() function.

The syntax for nearbyint() function has been given here.

```float nearbyint(float x);

double nearbyint(double x);

long double nearbyint(long double x);```

The function returns the rounded value for the number passed as a parameter. We can use fesetround() function to manipulate the return value for this function.

Let us understand its working with a few examples.

```#include <iostream>
#include <cmath>
using namespace std;

int main()
{
float num1 = 9.8;
double num2 = 5.3;
long double num3 = -6.9;

cout << "num1 = " <<num1 << endl;
cout << "num2 = " <<num2 << endl;
cout << "num3 = " <<num3 << endl;

cout << "Near by integer(num1) = " << nearbyint(num1) << endl;
cout << "Near by integer(num2) = " << nearbyint(num2) << endl;
cout << "Near by integer(num3) = " << nearbyint(num3) << endl;

return 0;
}```

Output:

```num1 = 9.8
num2 = 5.3
num3 = -6.9
Near by integer(num1) = 10
Near by integer(num2) = 5
Near by integer(num3) = -7```

As you can see from the output, all the values passed in nearbyint() function are rounded to their nearby integer. Here, have a look at another example.

```#include <iostream>
#include <cmath>
#include <cfenv>
using namespace std;

int main()
{
float num1 = 9.8;
double num2 = 5.3;
long double num3 = -6.9;

cout << "num1 = " <<num1 << endl;
cout << "num2 = " <<num2 << endl;
cout << "num3 = " <<num3 << endl;

fesetround(FE_UPWARD);

cout << "Near by integer(num1) = " << nearbyint(num1) << endl;
cout << "Near by integer(num2) = " << nearbyint(num2) << endl;
cout << "Near by integer(num3) = " << nearbyint(num3) << endl;

return 0;
}```

Output:

```num1 = 9.8
num2 = 5.3
num3 = -6.9
Near by integer(num1) = 10
Near by integer(num2) = 6
Near by integer(num3) = -6```

In the above program, we have used fesetround() function to set the rounding mode to upward. The nearbyint() function here returns the nearby upward value. Similarly, we can use fesetround(FE_DOWNWARD) to set the rounding mode to downward.

Thank you.

Also read: Use remquo() math function in C++