问题描述:在阅读一段代码时,发现代码的最后一部分出现
... cout.setf(ios::fixed); cout.setf(ios::showpoint); ...
解决:
cout.setf()是通过设置格式标志来控制cout输出格式
cout.setf(ios::fixed)表示用正常的记数方式来输出(与科学计数法相对应)
coutsetf(ios::showpoint)表示显示小数点和额外的零,即使不需要
还有一些其他的参数,总结如下:
| 标志 | 功能 |
|---|---|
| oct | 使用八进制来显示数值 |
| boolalpha | 可以使用true/false来进行输入输出的布尔值 |
| dec | 使用十进制来显示数值 |
| hex | 使用十六进制来显示数值 |
| left | 输出调整为左对齐 |
| right | 输出调整为右对齐 |
| scientific | 用科学记数法来显示浮点数 |
| fixed | 用正常的记数方式来显示(与科学记数法对应) |
| showbase | 输出时显示所有数值的基数 |
| showpoint | 显示小数点和额外的零,即使不需要 |
| showpos | 在非负数之前显示“+” |
| skipws | 当从一个流读取时,跳过空白字符(tab/spaces/newlines) |
| unitbuf | 每次插入后,清空缓冲区 |
| internal | 将填充字符回到符号和数值之间 |
| upperclass | 以大写的形式显示科学记数法中的"e"和十六进制格式的"x" |