首先,咱们来看一看这个向上取整和向下取整:
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.50cout<<fixed<<setprecision(2)<<x<<endl;//-10.00cout<<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.17return 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;