[001]C++ Cout格式化
2012-10-10 13:17
99 查看
在C中,如果存在一个int变量,我们要将其转换为八进制、十六进制等输出的时候,这个是非常简单的,只需要在printf的时候选择相对应的就行了。
但是在C++中,如果单纯的使用cout,这个是怎么实现的呢?
要控制整数以什么形式来显示,可以使用dec、hex、oct控制符,例如:
hex(cout);
将cout对象的格式设置为十六进制,完成上述设置后,程序将以十六进制形式打印整数值,直到其他选项来改变格式状态为止。
(需要注意的是,控制符不是成员函数,因此不需要通过对象来调用)
通常的使用方式为:
cout<<hex;
例:
运行情况为:
除了转换进制外,还有其他需要特别注意的地方:
在新式实现中,浮点类型被显示为6位,末尾的0不显示。数字以定点表示法显示还是以科学计数法表示,取决于它的值。具体来说,当指数大于等于6或小于等于-5时,将使用科学计数法表示。如:
输出就变为:
1.200末尾的0没有显示出来,但末尾不带0的浮点值后面将有6个空格
但是在C++中,如果单纯的使用cout,这个是怎么实现的呢?
要控制整数以什么形式来显示,可以使用dec、hex、oct控制符,例如:
hex(cout);
将cout对象的格式设置为十六进制,完成上述设置后,程序将以十六进制形式打印整数值,直到其他选项来改变格式状态为止。
(需要注意的是,控制符不是成员函数,因此不需要通过对象来调用)
通常的使用方式为:
cout<<hex;
例:
#include<iostream> int main() { using namespace std; cout << "enter:"; int n; cin >> n; cout << hex; cout << n << "\n"; cout << oct << n << "\n"; dec(cout); cout << n << "\n"; return 0; }
运行情况为:
enter:13 d 15 13
除了转换进制外,还有其他需要特别注意的地方:
在新式实现中,浮点类型被显示为6位,末尾的0不显示。数字以定点表示法显示还是以科学计数法表示,取决于它的值。具体来说,当指数大于等于6或小于等于-5时,将使用科学计数法表示。如:
double f = 1.200; cout << f << "\n"; cout << (f + 1.0 / 9.0) << “/n”; double f1 = 1.67E2; cout << f1 << "\n"; cout << (f1 * 1.0e4) << "\n";
输出就变为:
1.2 1.31111 167 1.67e+006
1.200末尾的0没有显示出来,但末尾不带0的浮点值后面将有6个空格
相关文章推荐
- [转]C++的cin/cout高阶格式化操作
- C++的cout高阶格式化操作
- C/C++的格式化输出(2)--cout
- C++ cout格式化输出(转)
- C++的cin/cout高阶格式化操作
- 关于C++的输出流cout格式化输出
- C++的cin/cout高阶格式化操作
- C++的cin/cout高阶格式化操作
- C++的cout高阶格式化操作
- C++ cout 格式化输出方法
- [学习笔记][C++Primer Plus]使用cout格式化输出字符串,3q xuzhong
- C++的cin/cout高阶格式化操作
- C++中cout格式化输出的相关函数与控制符
- 如何在C++中使用cout进行高级的格式化输出操作
- [学习笔记][C++Primer Plus]使用cout格式化输出字符串
- C++的cout高阶格式化操作
- [转载] c++ cout 格式化输出浮点数、整数及格方法
- (C++)cout格式化输出示例
- NO.2 C++的cout高阶格式化操作<转载>
- C++的cout高阶格式化操作