//在使用setf等库函数时使用
//在使用流操纵算子时使用
//using namespace std;
//以下所有的setf()都有对应的unsetf()用于取消设置
//所有的setiosflags()可以用resetiosflags()取消
//标志位fmtflags的命名空间可以使用ios_base::或者ios:: int laneri = 12345; double lanerd = 56789;
//1、设置整数进制输出
//重载1:fmtflags ios_base::setf(fmtflags _Mask);
//重载2:fmtflags ios_base::setf(fmtflags _Mask, fmtflags _Unset);
//使用重载1的时候,一定要先取消当前基,之后才可以设置新的基
//使用重载2的时候,第二个参数设为当前的基,或者当不知道当前基时,设为ios_base::basefield清除当前的
//所有可能的基
//可使用的标志:ios::dec, ios::oct, ios::hex, ios::basefield(= dec|oct|hex)
cout.unsetf(ios::dec);   //等价1 cout.setf(ios::hex);
cout.setf(ios::hex, ios_base::basefield); //等价2 cout<<laneri<<endl;
cout<<setiosflags(ios::hex)<<laneri<<endl; //等价3 cout<<std::hex<<laneri<<endl;   //等价4
//使用输入输出操纵符也能有等价效果(命名空间使用std::,否则会有多余的字符),注意这种方法其实不止对
//本句生效
//2、 显示进制前导字符(0、0x) cout.setf(ios::showbase);
cout<<setiosflags(ios::showbase)<<laneri<<endl; cout<<std::showbase<<laneri<<endl;
//3、使用科学记数法
//只对数据类型为小数的变量有效(或者字面值是小数) //对precision有影响(详见precision的说明)
//对ios::fixed有影响(详见fixed的说明),但不会被fixed影响 cout.setf(ios::scientific); cout<<lanerd<<endl;
cout<<setiosflags(ios::scientific)<<lanerd<<endl; cout<<std::scientific<<lanerd<<endl;
 
 
//4、设置小数的浮点/定点显示方式
//主要依靠precision体现(详见precision的说明)
//当设置了ios::scientific标志时,ios::fixed会受到影响,std::fixed不会
cout.setf(ios::fixed);  cout<<lanerd<<endl;
cout<<setiosflags(ios::fixed)<<lanerd<<endl;  cout<<std::fixed<<lanerd<<endl;
//5、设置小数数据类型的显示精度,受到scientific和fixed的影响 //当设置(fixed | scientific)时,precision(n)表示小数点后固定显示n位小数
//当不设置(fixed & scientific)时,precision(n)表示固定显示n位数字 // 其中,当是整数且位数m小于n,而又没有设置showpoint的时候,只显示m位整数。例如:precision(3),12->12
// 其中,当是整数且位数p大于n,无论设置showpoint与否,都四舍五入后使用科学计数法。例如:precision(3),1234->1.23e+003 cout.precision(3); cout<<lanerd<<endl;
cout<<setprecision(3)<<3.1415926<<endl;
//6、强制浮点数类型变量的小数点显示 
//如果是整数,大于precision宽度时使用科学计数法,小于precision则小数点后面补0,等于precision时显示
//小数点但无小数 
//例:不设fixed,precision(6):
1234567->1.23457E+006;   12345->12345.0;    123456->123456. 
//  设fixed,precision(6):
1234567->1234567.000000; 12345->12345.000000; 123456->123456.000000 cout.setf(ios::showpoint);
cout<<setiosflags(ios::showpoint)<<lanerd<<endl; cout<<std::showpoint<<lanerd<<endl;
//7、设置屏幕上的最小显示宽度
//实际字符数大于等于这个数字,显示全部;小于这个数字,用fill()设置的字符来填充其他占位符
//注意:宽度设置只对下一个"<<"输出有效 
//例如:cout<<setw(10)<<right<<"laner"<<"linke";只有"laner"是占10个字符,linke不是 cout.width(12);
//cout<<setw(12)<<3.14<<endl;
//8、显示对齐方式,默认为左对齐 cout.setf(ios::right);
cout<<setiosflags(ios::right)<<laneri<<endl;
cout<<std::right<<6.28<<endl;
//9、设置不足显示宽度时的填充字符,默认为' ' cout.fill('*');
cout<<setfill('$')<<laneri<<endl;
===================================================================== //附:ios_base::fmtflags
=====================================================================

cout格式化输出 详解的更多相关文章

  1. python 格式化输出详解(占位符:%、format、f表达式)——上篇 理论篇

    0 - 占位符介绍 要实现字符串的拼接,使用占位符是的一种高效.常用的方式. 举个例子,下面是不使用占位符的一种写法,直接使用加号拼接字符串 name = "Li hua" age ...

  2. printf()格式化输出详解

    % - 0 m.n l或h 格式字符 下面对组成格式说明的各项加以说明: ①%:表示格式说明的起始符号,不可缺少. ②-:有-表示左对齐输出,如省略表示右对齐输出. ③0:有0表示指定空位填0,如省略 ...

  3. Log4J:Log4J三大组件:Logger+Appender+Layout 格式化编程详解

    快速了解Log4J Log4J的三个组件: Logger:日志记录器,负责收集处理日志记录     (如何处理日志) Appender:日志输出目的地,负责日志的输出  (输出到什么 地方) Layo ...

  4. C++ cout格式化输出(转)

    C++ cout格式化输出(转) 这篇文章主要讲解如何在C++中使用cout进行高级的格式化输出操作,包括数字的各种计数法(精度)输出,左或右对齐,大小写等等.通过本文,您可以完全脱离scanf/pr ...

  5. mysql命令 show slave status\G;命令输出详解

    show slave status\G; 命令输出详解 mysql> show slave status\G; *************************** . row ******* ...

  6. ORACLE——日期时间格式化参数详解 之一

    2.日期格式化参数详解 2.1 -/,.;: 指定返回字串分隔符 SQL> select to_char(sysdate,'yyyy.mm.dd') from dual; TO_CHAR(SYS ...

  7. 【转】 C# DEBUG 调试信息打印及输出详解

    [转] C# DEBUG 调试信息打印及输出详解 1.debug只在[debug模式下才执行](运行按钮后面的下拉框可选) 2.debug提供了许多调试指令,如断言          System.D ...

  8. C++ cout格式化输出完全攻略

    写算法题的时候突然发现自己忘记基本的C++:cout格式化输出了,赶紧拉出以前的C++学习笔记重新看一看. 部分内容来自教程:C语言中文网(一个很棒的网站) 有时希望按照一定的格式进行输出,如按十六进 ...

  9. (Go)06. Printf格式化输出、Scanf格式化输入详解

    Print.Println .Printf .Sprintf .Fprintf都是fmt 包中的公共方法,在需要打印信息时需要用到这些函数,那么这些函数有什么区别呢? Print: 输出到控制台(不接 ...

随机推荐

  1. 7.27实习培训日志-Oracle SQL(三)

    Oracle SQL(三) 视图 特性 简单视图 复杂视图 关联的表数量 1个 1个或多个 查询中包含函数 否 是 查询中包含分组数据 否 是 允许对视图进行DML操作 是 否 CREATE [OR ...

  2. 使用 jquery.webcam 进行asp.net 拍照

    HTML 代码 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index. ...

  3. Mysql分片后分页排序拉取数据的方法

    高并发大流量的互联网架构,一般通过服务层来访问数据库,随着数据量的增大,数据库需要进行水平切分,分库后将数据分布到不同的数据库实例(甚至物理机器)上,以达到降低数据量,增加实例数的扩容目的. 一旦涉及 ...

  4. mysql的性能优化总结

    经验是从别人那里拿来的,不想直接复制黏贴,想亲自总结下,巴拉巴拉.........进入正题吧 一.为查询加入缓存 1.检查数据库是否开启缓存:show variables like '%query_c ...

  5. uva 1614奇怪的股市(归纳法证明,贪心)

    uva 1614奇怪的股市(归纳法证明,贪心) 输入一个长度为n的序列a,满足\(1\le a_i\le i\),要求确定每个数的正负号,使得所有数的总和为0.例如a={1, 2, 3, 4},则4个 ...

  6. [Xcode 实际操作]四、常用控件-(17)为MKMapView地图上显示提示框

    目录:[Swift]Xcode实际操作 本文将演示当点击地图上的标注圆点时,弹出信息窗口. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit ...

  7. day10函数作业详解

    1.day10题目 2,写函数,接收n个数字,求这些参数数字的和.(动态传参) 3,读代码,回答:代码中,打印出来的值a,b,c分别是什么?为什么? a=10 b=20 def test5(a,b): ...

  8. C++11随机数发生器

    前言 一直知道所谓的"随机数"都是伪随机,事实上也是满足某种规则生成的.有些程序测试时通常需要一个随机数源,但在新标准出现之前,C++都是依赖简单的C库函数rand来生成随机数的. ...

  9. 11-散列3 QQ帐户的申请与登陆 (25 分)

    实现QQ新帐户申请和老帐户登陆的简化版功能.最大挑战是:据说现在的QQ号码已经有10位数了. 输入格式: 输入首先给出一个正整数N(≤),随后给出N行指令.每行指令的格式为:“命令符(空格)QQ号码( ...

  10. Django基础(2)--模板自定义标签和过滤器,模板继承 (extend),Django的模型层-ORM简介

    没整理完 昨日回顾: 视图函数: request对象 request.path 请求路径 request.GET GET请求数据 QueryDict {} request.POST POST请求数据 ...