C ++中的lround()函數(shù)對最接近參數(shù)的整數(shù)值進行四舍五入,在中間的情況下舍入為零。返回的值是long int類型。它類似于round()函數(shù),但返回一個long int,而round返回與輸入相同的數(shù)據(jù)類型。
long int lround(double x); long int lround(float x); long int lround(long double x); long int lround(T x); // For integral type
lround()函數(shù)采用單個參數(shù),并返回long int類型的值。此函數(shù)在<cmath>頭文件中定義。
lround()函數(shù)將單個參數(shù)值取整。
lround()函數(shù)返回最接近x的整數(shù)值,中間情況從零舍入。返回的值是long int類型。
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
long int result;
double x = 11.16;
result = lround(x);
cout << "lround(" << x << ") = " << result << endl;
x = 13.87;
result = lround(x);
cout << "lround(" << x << ") = " << result << endl;
x = 50.5;
result = lround(x);
cout << "lround(" << x << ") = " << result << endl;
x = -11.16;
result = lround(x);
cout << "lround(" << x << ") = " << result << endl;
x = -13.87;
result = lround(x);
cout << "lround(" << x << ") = " << result << endl;
x = -50.5;
result = lround(x);
cout << "lround(" << x << ") = " << result << endl;
return 0;
}運行該程序時,輸出為:
lround(11.16) = 11 lround(13.87) = 14 lround(50.5) = 51 lround(-11.16) = -11 lround(-13.87) = -14 lround(-50.5) = -51
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int x = 15;
long int result;
result = lround(x);
cout << "lround(" << x << ") = " << result << endl;
return 0;
}運行該程序時,輸出為:
lround(15) = 15
對于整數(shù)值,應(yīng)用lround函數(shù)將返回與輸入相同的值。所以它在實際中并不常用來表示整數(shù)值。