C++ cout 如何保留小数输出
参考 : http://upliu.net/how-cout-out-2-precision.html
大家都知道用 C 语言中 printf () 函数可以非常方便控制保留 几位小数输出
不过在 C++ 当中也是可以控制小数保留,cout () 和 printf () 还是有一些区别
cout<<setiosflags(ios::fixed)<<setprecision(2);//需要头文件#include <iomanip>
然后再输出实数类型变量即可以保留2位小数输出了,当然你要保留三位小数,setprecision(3)就行。
setprecision是指设置输出精度,当没有
cout<<setiosflags(ios::fixed)
时,输出格式是数据的有效位数,例如
2 float a = 123.666; cout<<setprecision(5)<<a;
将输出123.67(注意这里,它会四舍五入)。如果setprecision里的参数小于整数位数,将以指数形式输出,例如
2 float a = 123.666; cout<<setprecision(2)<<a;
将输出1.2e+002。
setiosflags(ios::fixed)是指以固定的浮点显示,当setiosflags(ios::fixed)和serprecision(n)两个一起用时就表示保留n位小数输出。
这里还要注意,每次输出只要设置一次就行了,因为这两个的作用范围是后续对象,而不是仅对后一个对象起作用。