其实标题里说的那种情况就是我啦,碰到固定几位小数,精确到多少多少的就一脸懵逼,投奔printf了。其实cout必然也是可以的,我们需要一个叫输入输出控制符的东西。
全部的控制符参见:点击打开链接
此处只给出一般常用的(我做ACM时自己用到的)几种:
cout<<fixed<<setprecision(8)<<a;//保留八位小数
cout<<setprecision(8)<<a;//共输出八位数
cout<<hex<<b;//以16进制形式输出
要注意的是设置一次,后序的cout都是这样的哦,要是想变回标准形式,需要:
cout<<setprecision(6); //恢复默认格式(精度为6)
cout<<dec;//恢复十进制
#include<iomanip>
需要注意的是,正常情况下,控制位数后会进行自动的四舍五入操作。但是,有一种特殊情况: