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位小数输出。

这里还要注意,每次输出只要设置一次就行了,因为这两个的作用范围是后续对象,而不是仅对后一个对象起作用。

 

posted @ 2015-04-19 16:26  Jeremy Wu  阅读(33339)  评论(0编辑  收藏  举报