在比赛中,经常有题目要求控制输出的精度,例如要求固定输出的结果包含小数点后多少位,这时候我们有必要了解C++输出精度控制问题。
方法一:直接用 cout.precision
#include<iostream>
using namespace std;
int main(){
double a= 12.3456789;
cout.precision(6);
cout<<a;//输出12.3457
return 0;
}
方法二:加入头文件#include<iomanip>
#include<iostream>
#include<iomanip>//注意加入这个头文件
using namespace std;
int main(){
double a= 12.3456789;
cout<<a<<endl;//输出为12.3457,因为C++默认输出6位
cout<<setprecision(6)<<a<<endl;//输出为12.3457,若a本身位数大于5则输出位数为5,否则只输出原来的a
cout<<setiosflags(ios::fixed)<<//控制小数点后面的位数
setprecision(5)<<a<<endl;//输出为12.34568,小数位数是5位,注意则不够补0;
cout<<resetiosflags(ios::fixed); //取消精度的设置
return 0;
}