C++中取四捨五入的方法

c++中有這三個函數用來處理小數向整數的轉換: 
2.1 2.6 -2.1 -2.6 
floor : 不大於自變量的最大整數 2 2 -3 -3 
ceil :不小於自變量的最大整數 3 3 -2 -2 
round:四捨五入到最鄰近的整數 2 3 -2 -3

 

原文鏈接,在VS2012中編譯時出現:error C3861: “round”: 找不到標識符,即使加了頭文件cmath也不行,在代碼中加上round模板即可。

#include <iostream>
using namespace std;

template<class T>
T round(T r)
{
	return (r > 0.0) ? floor(r + 0.5) : ceil(r - 0.5);
}

int main()
{
	double a=-37.7744256;
	a=round(a*1000)/1000; 

	cout<<a<<endl;

	return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章