原以为precision的作用和printf中的控制精度%.xlf是类似的作用,今天发现并不是:
可见,precision的作用应该是“设置有效数字”,从左边第一个非零的数算起,而printf的输出位数指定是从小数点后开始算的。
同时尝试了cout的另外两个常用方法,fill和width,填充(补0)和域宽度:
还有几个常用的方法,但是需要头文件#include <iomanip>
double x=11.05;
cout<<fixed<<setprecision(2)<<x<<endl;//11.05 fixed是固定小数点位数
cout.unsetf(ios::fixed);//取消fixed
cout<<x<<endl;//输出 11(因为precision还是2)
cout<<setprecision(4)<<x<<endl;//11.05
cout<<scientific<<x<<endl;//1.1050e+01
cout.unsetf(ios::scientific);//取消科学计数法
cout<<x<<endl;//11.05