小数点精度的控制
我的作业中出现了对于小数点精度的控制,要求先要控制精度输出,比如说小数点后必须为两位,然后再取消这种控制
本文即针对该过程中我遇到的问题进行总结和给出解决方法。
首先是针对C++情况下的小数点精度控制
对于C++的格式输出,要用到cout.setprecision()
和fixed
,前面的一个单独使用是用来对于数的长度进行控制的。 如下代码实验cout.setprecision()
的作用:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
double temp = 125.8945;
cout << setprecision(0) << temp << endl;
cout << setprecision(1) << temp << endl;
cout << setprecision(2) << temp << endl;
cout << setprecision(3) << temp << endl;
cout << setprecision(10) << temp << endl;
return 0;
}
下面为在VS下运行得到的结果图
![ffbc64a0c0d254af2302babc8bc6de2c.png](https://img-blog.csdnimg.cn/img_convert/ffbc64a0c0d254af2302babc8bc6de2c.png)
可以发现当setprecision()
的长度参数为0的时候,在VS下就不对数字进行限制 当整数部分无法显示完全的时候,会用指数形式进行显示,同时还会进行舍入,比如说125舍入成了130; 当整数形式能够显示完全,就不会对整数形式进行指