setprecision函数在头文件#include<iomanip>中
#include<iostream>
#include<iomanip>
using namespace std;
int main(){
double a=123.1223433;
//除了小数点从小数点前到后共保留多少位
cout<<setprecision(5)<<a<<endl;
cout<<scientific<<setprecision(2)<<a<<endl;//将其变为一位整数,小数点后两位的标准格式
//用fixed后,后面所有的cout如果没有强制要求格式,
//就一直保留前面一样的格式,如这个就是小数点后n位,后面变后一直保持后面的那种格式直到下一次改变
cout<<fixed<<setprecision(5)<<a<<endl;
cout<<setprecision(3)<<a<<endl;//因为前面有fixed,后面还是保留小数点后3位
int b=10;
cout<<scientific<<setprecision(2)<<a<<endl;//这和下面俩个的格式是一样的
cout<<setprecision(3)<<a<<endl;
}
运行结果如下:
如何设置宽度并右对齐
cout<<setiosflags(ios::right)<<setw(10)<<n;