setpercision(n) setiosflags(ios::fixed) setiosflags(ios::scientific)
来源:互联网 发布:网络鬼故事 编辑:程序博客网 时间:2024/06/08 14:42
使用setprecision(n)可控制输出流显示浮点数的数字个数。
C++默认的流输出数值有效位是6。
如果setprecision(n)与setiosflags(ios::fixed)合用,可以控制小数点右边的数字个数。setiosflags(ios::fixed)是用定点方式表示实数。
如果与setiosflags(ios::scientific)合用, 可以控制指数表示法的小数位数。setiosflags(ios::scientific)是用指数方式表示实数。
例如,下面的代码分别用浮点、定点和指数方式表示一个实数:
//********************* //** ch2_1.cpp ** //*********************
#include <iostream.h>
#include <iomanip.h> //要用到格式控制符
void main()
{
double amount = 22.0/7;
cout <<amount <<endl;
cout <<setprecision(0) <<amount <<endl <<setprecision(1) <<amount <<endl <<setprecision(2) <<amount <<endl <<setprecision(3) <<amount <<endl <<setprecision(4) <<amount <<endl;
cout <<setiosflags(ios::fixed);
cout <<setprecision(8) <<amount <<endl;
cout <<setiosflags(ios::scientific) <<amount <<endl; //输出时沿用上一句设置的8位小数
cout <<setprecision(6); //重新设置成原默认设置
}
运行结果为:
3.14286
3
3
3.1
3.14
3.143
3.14285714
3.14285714e+00
该程序在32位机器上运行通过。
在用浮点表示的输出中,setprecision(n)表示有效位数。
第1行输出数值之前没有设置有效位数,所以用流的有效位数默认设置值6:
第2个输出设置了有效位数0,C++最小的有效位数为1,所以作为有效位数设置为1来看待:
第3~6行输出按设置的有效位数输出。
在用定点表示的输出中,setprecision(n)表示小数位数。
第7行输出是与setiosflags(ios::fixed)合用。所以setprecision(8)设置的是小数点后面的位数,而非全部数字个数。
在用指数形式输出时,setprecision(n)表示小数位数。
第8行输出用setiosflags(ios::scientific)来表示指数表示的输出形式。其有效位数沿用上次的设置值8
setw(n)是设置域宽。 就是你的输出要占多少个字符
比如:
cout<<setw(5)<<12345<<endl;
就输出 12345
cout<<setw(6)<<12345<<endl;
输出 12345
而如果你要输出的字符宽度超出了setw(n)的n值,就按输出字符的宽度输出。
如你的
cout<<setw(4)<<12.3456<<endl;
就输出12.3456
- setpercision(n) setiosflags(ios::fixed) setiosflags(ios::scientific)
- setprecision 和 setiosflags(ios::fixed)
- setiosflags(ios::fixed)和setprecision()
- 关于c++浮点数的数字个数setprecision(n)与setiosflags(ios::fixed)
- setiosflags
- setiosflags作用
- setprecision()与setiosflags()
- setiosflags() 的好处多多
- setiosflags的问题
- setiosflags的一些用法
- setiosflags() 的好处多多
- setprecision和setiosflags函数
- setiosflags的问题
- setiosflags的一些用法
- setiosflags() 的好处多多
- C++中setiosflags()的用法
- C++ 格式控制符setiosflags
- C++中setiosflags()的用法
- 2012-2-16 日记
- Android 数字签名学习笔记
- 【Android】Handler使用入门 处理耗时较长的程序
- 乔布斯在斯坦福大学的演讲稿
- (经典推荐) Objective-C 的语法与Cocoa 框架----01
- setpercision(n) setiosflags(ios::fixed) setiosflags(ios::scientific)
- Android学习16--图形与图像处理
- Table排序
- 分享一个简单的Android日志文件记录类
- Linux unzip命令用法
- Sizeof与Strlen的区别与联系
- NEHE的OpenGL代码Lesson02
- 做SEO提高网站排名的必杀方法
- 展开和收缩