c++中使用cout保留小数并不像c中使用printf()那么简单轻松,要想使用cout保留小数需要用到头文件iomanip
头文件:#include <iomanip>
说明:是I/O流控制头文件,就像C里面的格式化输出一样
setprecision() / cout.setprecision()函数
使用setprecision()/cout.precision()之后,如果不在修改精度,则之后所有的数据输出都是按照设置的精度来输出
#include <iostream>
#include<iomanip>
using namespace std;
int main()
{
double a = 1.22023145, b = 0.123655,c=2.2;
cout.precision(3);
//cout << setprecision(3);这里和用上面的那句程序效果是一样的。
cout << a << endl;//这里是3位有效数字,输出1.22
cout << b << endl;//输出0.123
cout << c << endl;//输出2.2
return 0;
}
流操作符 fixed
表示浮点输出应该以固定点或小数点表示法显示:
cout << fixed;
fixed 操作符可能最重要的还是当它与 setprecision 操作符一起使用时,setprecision 即可以以一种新的方式显示。它将指定浮点数字的小数点后要显示的位数,而不是要显示的总有效数位数。而这通常正是我们想要的。
例:
cout << fixed << setprecision(2);
使用fixed和setprecision函数保留小数示例:
# include<iostream>
# include<iomanip>
using namespace std;
int main(){
int n = 1;
double m = 1.23
cout << fixed << setprecision(12) << n << " " << m << endl;
return 0;
}
//输出: 1 1.230000000000