首先,咱们来看一看这个向上取整和向下取整:
double floor(double x); double ceil(double x);
1.使用floor(向下)取整函数。floor(x)返回的是小于或等于x的最大整数。 example:????????floor(10.5) == 10.0? ? floor(-10.5) == -11.0
2.使用ceil(向上)取整函数。ceil(x)返回的是大于或等于x的最小整数。 example:????????ceil(10.5) == 11.0? ? ceil(-10.5) ==-10.0
floor()是向负无穷大方向去舍入,ceil()是向正无穷大方向去舍入;
废话少说,直接上代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
double a;
cin>>a;
double x,y;
x=ceil(a);//向着正无穷
y=floor(a);//向着负无穷
//首先输入:10.5 输出:
// cout<<fixed<<setprecision(2)<<a<<endl;//10.50
// cout<<fixed<<setprecision(2)<<x<<endl;//11.00
// cout<<fixed<<setprecision(2)<<y<<endl;//10.00
//然后输入:-10.5 输出:
cout<<fixed<<setprecision(2)<<a<<endl;//-10.50
cout<<fixed<<setprecision(2)<<x<<endl;//-10.00
cout<<fixed<<setprecision(2)<<y<<endl;//-11.00//这里关于(C++)输出保留俩位小数的知识
return 0; //请看我下一篇文章
}
最后,给大家说一下关于round(四舍五入)函数,当然提到四舍五入,大佬们肯定会想到C语言里面输入俩个整数a和b,再求a/b,并且对于结果保留2位小数,对于第三位四舍五入,我们使用的是(double)a/b来解决的。
而对于round()而言,直接上代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
double w,z;
cin>>w;
z=round(w);
cout<<fixed<<setprecision(2)<<z<<endl;//1.4 输出1; 1.6输出2;
//对于负数一样,自己试一试
//printf("%5.2f\n",(double)a/b);//保留俩位小数并且对第三位四舍五入
//如果a=1 除以 b=6 得到的 0.167 变为 0.17
return 0;
}
最后,我再把这三个函数写在一个代码里面:(总结)
#include<bits/stdc++.h>
using namespace std;
int main()
{
double x;
cin>>x;
double y,z,w;
y=floor(x);
z=ceil(x);
w=round(x);
cout<<fixed<<setprecision(2)<<x<<endl;
cout<<fixed<<setprecision(2)<<y<<endl;
cout<<fixed<<setprecision(2)<<z<<endl;
cout<<fixed<<setprecision(2)<<w<<endl;
return 0;
}
大家觉得对自己有帮助的点点赞吧
cout<<"感谢您的点赞"<<endl;
|