
在C++中,cout 是最常用的输出工具,配合 <iostream> 和 <iomanip> 头文件,可以实现丰富的格式化输出。掌握这些技巧能让你的程序输出更清晰、专业。
控制输出精度和小数位数
浮点数默认输出6位有效数字,可以通过 setprecision() 调整精度。
setprecision(n) 控制总有效数字位数(默认),若配合 fixed,则表示小数点后保留n位。
示例:
<font color="#0000FF">#include <iostream></font> <font color="#0000FF">#include <iomanip></font> <font color="#0000FF">using namespace std;</font> <font color="#0000FF">int</font> main() { <font color="#0000FF">double</font> price = 123.456789; cout << setprecision(4) << price << endl; <font color="#008800">// 输出: 123.5 (共4位有效数字)</font> cout << fixed << setprecision(2) << price << endl; <font color="#008800">// 输出: 123.46 (小数点后2位)</font> <font color="#0000FF">return</font> 0; }
设置字段宽度和对齐方式
使用 setw(n) 设置下一个输出项的最小宽度,不足部分用填充字符补足(默认空格)。
立即学习“C++免费学习笔记(深入)”;
对齐方式可用:left(左对齐)、right(右对齐)、internal(符号左,数值右)。
示例:
cout << setw(10) << "Hello" << endl; <font color="#008800">// 右对齐,前面补5个空格</font> cout << left << setw(10) << "Hi" << endl; <font color="#008800">// 左对齐,后面补8个空格</font>
改变进制输出
cout 默认以十进制输出整数,可用以下标志切换进制:
- dec:十进制
- hex:十六进制
- oct:八进制
示例:
int num = 255; cout << dec << num << endl; <font color="#008800">// 255</font> cout << hex << num << endl; <font color="#008800">// ff</font> cout << oct << num << endl; <font color="#008800">// 377</font>
如需显示进制前缀(如0x),可配合 showbase。
填充字符与特殊标志
默认填充字符为空格,可用 setfill(char) 修改。
常用标志还有:
- showpos:正数前显示+
- uppercase:十六进制用大写字母
- scientific 或 fixed:科学计数法或定点小数
示例:
cout << setfill('*') << setw(8) << 42 << endl; <font color="#008800">// ****42</font> cout << showpos << 123 << endl; <font color="#008800">// +123</font> cout << uppercase << hex << 255 << endl; <font color="#008800">// FF</font>
基本上就这些常用技巧。合理使用 <iomanip> 中的操作符,可以让输出整齐美观,适合表格、日志或调试信息展示。不复杂但容易忽略。


