#include <iostream>   //不要用iostream.h ,会出现好多问题
#include <iomanip>    // io 流控制头文件, 主要是一些操纵用法如
setw(int n),setprecision(int n) ,setbase(int   n),setfill(char c)

setw(n)用法: 通俗地讲就是预设宽度

cout<<setw(5)<<255<<endl;

结果是:

 (空格)(空格)255

setw(n)是设置域宽。
就是你的输出要占多少个字符。
比如:

 cout<<setw(5)<<12345<<endl;

就输出:

   12345

   cout<<setw(6)<<12345<<endl;

输出:

   (空格)12345

而如果你要输出的字符宽度超出了setw(n)的n值,就按输出字符的宽度输出。

cout<<setw(4)<<12.3456<<endl;

就输出

12.3456

setfill(char c) 用法 : 就是在预设宽度中如果已存在没用完的宽度大小则用设置的字符c填充

cout<<setfill('@')<<setw(5)<<255<<endl;

结果是:

   @@255

▲setbase(int n) : 将数字转换为 n 进制.

    cout<<setbase(8)<<setw(5)<<255<<endl;cout<<setbase(10)<<setw(5)<<255<<endl;cout<<setbase(16)<<255<<endl;

结果是:

   (空格)(空格) 377(空格)(空格) 255(空格)(空格) ff

setprecision用法

使用setprecision(n)可控制输出流显示浮点数的数字个数。C++默认的流输出数值有效位是6。

如果setprecision(n)与setiosflags(ios::fixed)合用,可以控制小数点右边的数字个数。setiosflags(ios::fixed)是用定点方式表示实数。

如果与setiosnags(ios::scientific)合用, 可以控制指数表示法的小数位数。setiosflags(ios::scientific)是用指数方式表示实数。
例如,下面的代码分别用浮点、定点和指数方式表示一个实数:

#include <iostream>
#include <iomanip>int main()
{double amount = 22.0/7;cout << amount << endl;cout << setprecision(0) << amount << endl<< setprecision(1) << amount << endl<< setprecision(2) << amount << endl<< setprecision(3) << amount << endl<< setprecision(4) << amount << endl;cout << setiosflags(ios::fixed);cout << setprecision(8) << amount << endl;cout << setiosflags(ios::scientific) << amount <<endl;cout <<setprecision(6);//重新设置成原默认设置return 0;
}

运行结果:

   3.14286333.13.143.1433.142857143.14285714e+00//该程序在32位机器上运行通过。//在用浮点表示的输出中,setprecision(n)表示有效位数。// 第1行输出数值之前没有设置有效位数,所以用流的有效位数默认设置值6://第2个输出设置了有效位数0,C++最小的有效位数为1,所以作为有效位数设置为1来看待:第3~6行输出按设置的有效位数输出。//在用定点表示的输出中,setprecision(n)表示小数位数。// 第7行输出是与setiosflags(ios::fixed)合用。所以setprecision(8)设置的是小数点后面的位数,而非全部数字个数。//在用指数形式输出时,setprecision(n)表示小数位数。//第8行输出用setiosflags(ios::scientific)来表示指数表示的输出形式。其有效位数沿用上次的设置值8。

c++头文件iomanip.h中的setw、setprecision、setfill和setbase函数的使用相关推荐

  1. c++头文件iomanip.h中的setw、setprecision、setfill和setbase函数

    #include <iostream>   //不要用iostream.h ,会出现好多问题 #include <iomanip>    // io 流控制头文件, 主要是一些 ...

  2. c++头文件iomanip.h中setw()、setprecision()、setbase用法示例详解

    c++头文件iomanip.h中setw().setprecision().setbase #include <iostream>    //不要用iostream.h ,会出现好多问题 ...

  3. 习题 8.5 将本章的例8.4改写为一个多文件的程序:1.将类定义放在头文件arraymax.h中;2.将成员函数定义放在源文件arraymax.cpp中;3.主函数放在源文件file1.cpp中。

    C++程序设计(第三版) 谭浩强 习题8.5 个人设计 习题 8.5 将本章的例8.4改写为一个多文件的程序: 1.将类定义放在头文件arraymax.h中: 2.将成员函数定义放在源文件arraym ...

  4. C语言字符串头文件string.h中的strlen,strcat,strcpy,strncpy,strcmp,strlwr,strupr函数

    前言 本博文内容基于VC6.0++, 2.本博文主要介绍包含在string.h中的几个字符串相关的函数: strlen(字符串数组名) 字符串有效长度函数: 返回值:整型 功能:用来测量一个字符串的有 ...

  5. c语言intrins函数,【转载】KEIL C 头文件INTRINS.H中的几个函数说明

    原标题: [51单片机]keil C51中的本征函数库及使用说明 为方便自己查找,已将标题改名 原文来源:http://blog.163.com/hooyang@126/blog/static/118 ...

  6. C++头文件(xxx.h)与源文件(xxx.cpp)的关系

    头文件是不能被编译的: "#include"为编译预处理指令,其作用:源文件(xxx.cpp)中的#include "xxx.h"指令将xxx.h 中的代码在编 ...

  7. c语言中的头文件stdlib.h的作用,C语言中你可能不熟悉的头文件(stdlib.h)

    C语言中你可能不熟悉的头文件(stdlib.h) C Standard General Utilities Library (header) C标准通用工具库(头文件) 此头文件定义了一些通用功能函数 ...

  8. c51语言的标准库函的头文件,C51编程中头文件的使用

    头文件在C51的编程中是不可缺少的部分.本文将对keil C中常用头文件予以说明,并就如何编写头文件进行初步介绍. 一.C51常见本征函数库 一些常见的头文件都是keil C自带的,在安装目录下的C5 ...

  9. C/C++中部分我不太了解的函数和头文件——iomanip和setw和setfill() 函数

    1.头文件 <iomanip> 中提供了许多用于控制输出流的函数,setw() 函数可以控制输出流的下一个输出内容的场宽. int a=114514; cout<<a; 输出为 ...

最新文章

  1. 第十五课.马尔科夫链蒙特卡洛方法
  2. 全球最大AI商业展会开幕,这家老牌巨头担当中国唯一代表
  3. [python Cookbook]阅读笔记
  4. 计算机组成原理实验室现状,计算机组成原理实验室
  5. 64位系统好不好用java_64位系统环境时Java的性能
  6. 从四大造字法看文字所承载的文化_对央视“汉字的魅力”讲授之管见(《天津教育报》2012年6月15日)...
  7. VS2010 编译 openssl 源代码(输出 libeay32 and ssleay32 静态库和动态库)
  8. linux目录结构和份文件系统
  9. 黑马程序员___Java基础[09-IO]
  10. 在php中插入图片,php中怎么插入图片
  11. 解读“统一价格分评审方法”
  12. Mac安装port(port:command not found解决办法)
  13. testcenter自动化
  14. 2022年家用投影仪推荐 当贝F5和坚果J10S哪款画质更好?
  15. 面向数据机密性的云计算脆弱性分析框架
  16. 直击进博会 | 霍尼韦尔、飞利浦、西门子医疗、阿斯利康、赛诺菲、默沙东、蔡司等持续看好中国市场...
  17. 深入php redis pconnect
  18. lustre lnet
  19. 2022年这5款熟悉的软件退出了历史舞台
  20. charles手机抓包教程

热门文章

  1. linux 汇编 preserve8,ARM汇编伪指令
  2. Yolo-v1~v3学习关键点整理
  3. 【R生态】非参数多元检验(ADONIS、ANOSIM、PERMANOVA及MRPP等多元方差分析)
  4. sprintf函数详解
  5. COLA开发流程总结
  6. Debug Error: abort() has been called解决办法
  7. spring jsm(一)
  8. java复杂逻辑如何设计_javabean如何实现复杂的业务逻辑
  9. numpy.floor()函数的使用
  10. IntelliJ IDEA 2018.2 x64激活