zoukankan      html  css  js  c++  java
  • iomanip

    1介绍

      #include<iomanip>

      io表示输入输出,manip是manipulate(操纵器)的缩写(在c++上只能通过输入缩写才有效)

    2.作用

      主要是对cin,cout之类的操纵运算子,比如setfill,setw,setbase,setprecision等等。(precision有精确度的意思)。它是I/O流控制头文件,就像C里面的格式化输出一样,以下是一些常见的控制函数:

          dec置基数为10相当于“%d”

          hex置基数为16相当于“%X”

          otc置基数为8相当于“%o"

          setfill('c')设填充字符为c

              setfill(char c)用法:用字符c填充预设的未用完的空间

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

              输出结果为:@@255

              注意:setfill只作用于紧随其后的部分

                  例如:cout<<setfill('*')<<setw(6)<<123<<456<<endl;

                    输出结果为:***123456,只对123有作用

          setprecision(n)设显示有效数字为n位,c++中默认的流输出数值有效位是6.

              补充:

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

                 setprecision(n)与setiosflags(ios::scientific)合用,控制指数表示法的小数位数。setiosflags(ios::scientific)是用指数方式表示实数

                

                 setiosflags(ios::fixed) 固定的浮点显示
                 setiosflags(ios::scientific) 指数表示
                 setiosflags(ios::left) 左对齐
                   setiosflags(ios::right) 右对齐
                   setiosflags(ios::skipws) 忽略前导空白
                   setiosflags(ios::uppercase) 16进制数大写输出
                 setiosflags(ios::lowercase) 16进制小写输出
                 setiosflags(ios::showpoint) 强制显示小数点
                 setiosflags(ios::showpos) 强制显示符号
          setw(n)设域宽为n个字符,保证输出宽度为n

              例如:cout<<setw(3)<<1<<setw(3)<<10<<setw(3)<<100<<endl;

              输出结果为:(空格)(空格)1(空格)10100

              注意:1默认是右对齐2这里设置是3,当输出长度大于3(<<1000),setw(3)不起作用。3setw只作用于紧随其后的部分。

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

              例如: cout<<setfill('*')<<setbase(8)<<setw(5)<<255<<endl;

                  cout<<setfill('*')<<setbase(10)<<setw(5)<<255<<endl;

                  cout<<setfill('*')<<setbase(16)<<setw(5)<<255<<endl;

                输出结果:

                    **377

                    **255

                    ***ff

    实例:

     1 #include<iostream>
     2 #include<iomanip>
     3 using namespace std;
     4 int main()
     5 {
     6     cout<<12345.0<<endl;//输出“12345”
     7     cout<<setiosflags(ios::fixed)<<setprecision(3)<<1.2345<<endl;//输出“1.234”(遵循四舍六入五成双的原则)
     8     cout<<setiosflags(ios::scientific)<<12345.0<<endl;//输出“1.23e+004”
     9     cout<<setprecision(3)<<12345.0<<endl;//输出“1.23e+004”
    10     return 0;
    11 }
    View Code
  • 相关阅读:
    Blazor client-side + webapi (.net core 3.1) 添加jwt验证流程(非host)第一步
    移动端web框架候选
    Blazor初体验之寻找存储client-side jwt token的方法
    python学习记录(持续更新)--最最最基础的一部分(方法,异常处理,注释,类)
    python学习记录(持续更新)--最最最基础的一部分(条件分支、循环、数组矩阵、元组)
    python学习记录(持续更新)--最最最基础的一部分(变量、字符串、运算符、常见函数)
    C#后台异步消息队列实现
    Quartz.Net 删除一个Job
    授权认证(IdentityServer4)
    文件同步
  • 原文地址:https://www.cnblogs.com/baoxiaofei/p/4262438.html
Copyright © 2011-2022 走看看