• C++常用格式化输出转换


    在这里插入图片描述

     在C语言中可以用printf以一定的格式打印字符,C++当然也可以。
    输入输出及命名空间还不太了解的小伙伴可以看一看C++入门讲解第一篇
     在C++中,可以用流操作符(stream manipulators)控制数据的输出格式,这些流操作符定义在2个头文件(iomanipios)中,可以用输出运算符<<将一个操作符作用于输出流对象,即可输出该对象。
    例如:

    #include 
    #include   
    using namespace std;  
    bool b = true;  
    //两种输出如下
    **cout << b << endl;** 
    **cout << boolalpha << b << endl;**
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    运行后输出结果如下

    1
    true

     cout默认将bool类型的变量的值转化为0和1,如果在前边加上流操作符boolalpha,就以字符串“true”和“false”的形式输出bool类型变量的结果。


     在这里,ios头文件已经自动被iostream头文件包含,这个头文件中的操作符不带任何参数,就比如用以下操作符将整形以特定的进制格式输出。

    oct:后续的生疏都以八进制的形式输出。
    dec:后续的整数都以十进制的形式输出。
    hex:后续的整数都以十六进制的形式输出。

    举例:

    	cout << oct << 18 << '\t' << 25 << endl;
    	cout << dec << 18 << '\t' << 25 << endl;
    	cout << hex << 18 << '\t' << 25 << endl;
    
    • 1
    • 2
    • 3

    运行后输出结果如下

    在这里插入图片描述

    \t为制表符,如果在\t前没有八个字符,会自动补齐到8个。


    还可以用如下操作符改变浮点数的输出格式

    fixed:以固定精度形式输出。(保留小数点后5位)
    scientific:已科学计数法的形式输出。(以科学计数法并保留小数点后6位,如果最后一个有效数字在0.1的级数上,就保留5位,即后边添加4个0)
    hexfloat:以十六进制浮点数形式输出。
    defaultflaot:以默认形式输出。

    如:

    int main()
    {
    	cout << 0.001 << endl;
    	cout << defaultfloat << 0.001 << endl;
    	cout << hexfloat << 0.001 << endl;
    	cout << scientific << 0.001 << endl;
    	cout << fixed << 0.001 << endl;
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    运行后如图
    在这里插入图片描述
    对比后发现,默认输出形式可以省略。


    对比上边ios的操作符,iomanip的操作符往往需要传递一个参数。
    setw(n):改变输出域的宽度。
    setprecision(n):改变浮点数的精度
    setfill(ch):改变填空字符,即如果输出域的宽度大于输出值的宽度时,默认的填空字符为空格,这里可以将其修改为任意字符。

    setbase(b)也可以改变输出整数的进制,b=8或10或16。
    要注意包含头文件iomanip


    setw用法(只作用一次,用于下次输出)
     对于小数,只能识别小数后5位,小数点也会占用一格输出。如果数字长度不够,则会以空格向前填充。
    在这里插入图片描述
    一共7个字符,向前补齐一个空格。


    setprecision用法
    改变浮点数精度
    在这里插入图片描述
    包含整数部分。
    在这里插入图片描述
    保存从最高位向后n位数字。


    setfill(ch)的用法
    这里需要配合setw来使用。
    用例如下:
    在这里插入图片描述
    正如前边所说,小数点也占用一格输出。
    本文结束,希望大家有所收获。

  • 相关阅读:
    短视频挺进在线音乐腹地
    can-utils使用
    2022-08-20
    墨者学院——登录密码重置漏洞分析溯源
    leetcode算法每天一题027:移除元素
    reids cluster模式的两种配置方式
    好心情精神心理科医生:青春期孩子的心理特征
    翻译软件免费版下载-免费版翻译软件下载
    推荐系统!基于tensorflow搭建混合神经网络精准推荐!
    Shein寻求在美IPO获900亿美元估值,能成功吗?
  • 原文地址:https://blog.csdn.net/qq_75270497/article/details/134238240