C++ Primer 5th笔记(chap 17 标准库特殊设施)IO库 之操纵符
Posted thefist11
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ Primer 5th笔记(chap 17 标准库特殊设施)IO库 之操纵符相关的知识,希望对你有一定的参考价值。
1. 控制浮点数格式
可以控制浮点数输出三个种格式
• 以多高精度( 多少个数字) 打印浮点值
• 数值是打印为十六进制、 定点十进制还是科学记数法形式
• 对于没有小数部分的浮点值是否打印小数点
1.1 默认情况格式
- 浮点值按六位数字精度打印;
- 如果浮点值没有小数部分, 则不打印小数点:
- 根据浮点数的值选择打印成定点十进制或科学记数法形式。
标准库会选择一种可读性更好的格式: 非常大和非常小的值打印为科学记数法形式, 其他值打印为定点十进制形式
1.2 指定打印精度
setprecision
//cout.precison返回当前精度值
cout << "Precision: " << cout.precision()
<< ", Value:" << sqrt(2.0) << endl;
cout.precision(12); //将打印精度设置为12位数字
cout << "Precision: " << cout.precision()
<< ", Value:" << sqrt(2.0) << endl;
//使用setprecision操作符将打印精度设置为3位数字
cout << setprecision(3);
cout << "Precision: " << cout.precision()
<< ", Value:" << sqrt(2.0) << endl;
输出:
Precision: 6, Value: 1.41421
Precision: 12, Value: 1.41421356237
Precision: 3, Value: 1.41
1.3 定义在iostream中的操作符
操作符 | 描述 |
---|---|
boolalpha | 将true和false输出为字符串 |
noboolalpha | 将true和false输出为1, 0 |
showbase | 对整型值输出表示进制的前缀 |
noshowbase | 不生成表示进制的前缀 |
showpoint | 对浮点值总是显示小数点 |
noshowpoint | 只有当浮点值包含小数部分是才显示小数点 |
showpos | 对非负数显示+ |
noshowpos | 对非负数不显示+ |
uppercase | 在十六进制值值打印0X,在科学计数法中打印E |
nouppercase | 在十六进制值值打印0x,在科学计数法中打印e |
dec | 整数值显示为十进制 |
hex | 整数值显示为十六进制 |
otc | 整数值显示为八进制 |
left | 在值的右侧添加填充字符 |
right | 在值的左侧添加填充字符 |
internal | 在符号和值之间添加填充字符 |
fixed | 浮点值显示为定点十进制 |
scientific | 浮点值显示为科学计数法 |
hexfloat | 浮点值显示为十六进制(C++新特性) |
defaultfloat | 重置浮点数格式为十进制(C++新特性) |
unitbuf | 每次输出操作后都刷新缓冲区 |
nounitbuf | 恢复正常的缓冲区刷新方式 |
skipws | 输入运算符跳过空白符 |
noskipws | 输入运算符不跳过空白符 |
flush | 刷新ostream缓冲区 |
ends | 插入空字符,然后刷新ostream缓冲区 |
endl | 插入换行,然后刷新ostream缓冲区 |
以上是关于C++ Primer 5th笔记(chap 17 标准库特殊设施)IO库 之操纵符的主要内容,如果未能解决你的问题,请参考以下文章
C++ Primer 5th笔记(chap 17 标准库特殊设施)输出补白
C++ Primer 5th笔记(chap 17 标准库特殊设施)bitset类型
C++ Primer 5th笔记(chap 17 标准库特殊设施)正则表达式
C++ Primer 5th笔记(chap 17 标准库特殊设施)tuple 返回多个值