How to use lround() function to get the nearest integer from floating-point, halfway cases rounded away from zero in C++

1 Answer

0 votes
#include <iostream>
#include <cmath>

using namespace std;

int main()
{
	cout << "lround(3.2) = " << lround(3.2) << endl;
	cout << "lround(3.3) = " << lround(3.3) << endl;
	cout << "lround(3.5) = " << lround(3.5) << endl;
	cout << "lround(3.6) = " << lround(3.6) << endl;
	cout << "lround(3.7) = " << lround(3.7) << endl << endl;

	cout << "lround(4.2) = " << lround(4.2) << endl;
	cout << "lround(4.3) = " << lround(4.3) << endl;
	cout << "lround(4.5) = " << lround(4.5) << endl;
	cout << "lround(4.6) = " << lround(4.6) << endl;
	cout << "lround(4.7) = " << lround(4.7) << endl << endl;

	cout << "lround(-3.2) = " << lround(-3.2) << endl;
	cout << "lround(-3.3) = " << lround(-3.3) << endl;
	cout << "lround(-3.5) = " << lround(-3.5) << endl;
	cout << "lround(-3.6) = " << lround(-3.6) << endl;
	cout << "lround(-3.7) = " << lround(-3.7) << endl << endl;

	cout << "lround(-4.2) = " << lround(-4.2) << endl;
	cout << "lround(-4.3) = " << lround(-4.3) << endl;
	cout << "lround(-4.5) = " << lround(-4.5) << endl;
	cout << "lround(-4.6) = " << lround(-4.6) << endl;
	cout << "lround(-4.7) = " << lround(-4.7) << endl << endl;

	return 0;

}

/*
run:

lround(3.2) = 3
lround(3.3) = 3
lround(3.5) = 4
lround(3.6) = 4
lround(3.7) = 4

lround(4.2) = 4
lround(4.3) = 4
lround(4.5) = 5
lround(4.6) = 5
lround(4.7) = 5

lround(-3.2) = -3
lround(-3.3) = -3
lround(-3.5) = -4
lround(-3.6) = -4
lround(-3.7) = -4

lround(-4.2) = -4
lround(-4.3) = -4
lround(-4.5) = -5
lround(-4.6) = -5
lround(-4.7) = -5

*/

 



answered Mar 26, 2016 by avibootz
...