C++ Math lrint
The function rounds off the given value using current rounding mode and returns the value of type long int.
Syntax
Suppose a number is 'x'. Syntax would be:
Example
long int lrint(data_type x);
Parameter
x : The value that can be float, double or long double.
Return value
It returns the rounded value of x and the return type of the value is long int.
Example 1
Let's see a simple example.
Example
#include <iostream>
#include<math.h>
#include <cfenv>
using namespace std;
int main()
{
float r;
int str;
cout<<"Enter the value which you want to round :";
std::cin >> r ;
cout<<'\n';
cout<<"Name of the methods are :"<<'\n'<<"1. Rounding downwards"<<'\n'<<"2. Rounding upwards"<<'\n'<<"3.
Rounding towards zero"<<'\n'<<"4. Rounding to the nearest"<<'\n';
cout<<"Enter the number of rounding method :";
cin>>str;
cout<<'\n';
switch(str)
{
case 1:
fesetround(FE_DOWNWARD);
cout<<"Rounding downwards,value is :"<<lrint(r)<<'\n';
break;
case 2:
fesetround(FE_UPWARD);
cout<<"Rounding upwards,value is :"<<lrint(r)<<'\n';
break;
case 3:
fesetround(FE_TOWARDZERO);
cout<<"Rounding towards zero,value is :"<<lrint(r)<<'\n';
break;
case 4:
fesetround(FE_TONEAREST);
cout<<"Rounding to nearest,value is :"<<lrint(r)<<'\n';
break;
default:
cout<<"wrong method";
}
return 0;
}
Output:
Output
Enter the value which you want to round : 7.8
Name of the methods are :
1. Rounding downwards
2. Rounding upwards
3. Rounding towards zero
4. Rounding to the nearest
Enter the number of rounding method : 1
Rounding downwards,value is :7