C++ 取整數學函數
將浮點數取整或者四舍五入的數據處理情況經常見到,下面做一下總結。 注意:函數取整返回值均為 double 型,在用 printf 輸出時應注意。
數學頭文件
#include<cmath>
C++ 實現
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
double a=2.5;
cout<<"原始值:"<<a<<endl;
cout<<"向上取整:"<<ceil(a)<<endl; //向上取整
cout<<"向下取整:"<<floor(a)<<endl; //向下取整
cout<<"四舍五入:"<<round(a)<<endl; //四舍五入
//不使用函數實現
cout<<"--------------------------"<<endl;
//向上取整
cout<<"向上取整:"<<(a>(int)a?(int)a+1:(int)a)<<endl;
//向下取整
cout<<"向下取整:"<<(int)a<<endl;
//四舍五入
cout<<"四舍五入:"<<(int)(a+0.5)<<endl;
return 0;
}
運行結果
參考資料