c++中格式化输出。十六进制浮点数0x p输出问题

来源:互联网 发布:淘宝缺货赔付规则 编辑:程序博客网 时间:2024/06/04 12:15

不可用cin读取空格,回车换行,tab。若要则用getchar。

格式化输入输出需要iomanip头文件。

默认不加为6位有效数字。

在输入流与输出流中使用控制符

dec hex oct 10 16 8进制,设置之后一直有效。

setprecision(n)有效位数 一般十进制小数形式输出时,n代表有效数字。在以fixed(固定小数位数)形式和 scientific(指数)形式输出时,n为小数位数

setfill填充字符

setw(n)位宽n  setw范围仅为之后一个数字。cout<<setw(3)<<a<<b 此处b就不受宽度限制了。宽度包括正负,小数点

直接写cout《16 8进制下输出24


setiosflags( ios::fixed) 固定的小数位数
setiosftags( ios::scientific) 科学记数法(即指数形式)
setiosflags( ios::left) 左对齐
setiosflags( ios::right) 右对齐
setiosflags( ios::skipws) 忽略前导的空格
setiosflags( ios::uppercase) 十六进制形式字母大写
setiosflags( ios::lowercase) 十六进制形式宇母小写
setiosflags(ios::showpos) 正数带+


用了scientific再用fixed默认输出为十六进制浮点数  0x1.2p2表示(1+2*1/16)*2^2

cout << setiosflags(ios::fixed) << 1.25 << setiosflags(ios::scientific) << 1.25 << setiosflags(ios::fixed) << 1.25<<endl;

输出1.25 1.4 1.4


用流对象的成员函数控制输出格式

流成员函数与之作用相同的控制符作用precision(n)setprecision(n)设置实数的精度为n位width(n)setw(n)设置字段宽度为n位fill(c)setfill(c)设置填充宇符csetf()setiosflags()设置输出格式状态,括号中应给出格式状态,内容与控制符setiosflags括号中的内容相同,如表13.5所示unsetf()resetioflags()终止已设置的输出格式状态,在括号中应指定内容若要结束则用resetiosflags结束它。

0 0
原创粉丝点击