• C++格式化输出


    在C++中,我们常用到的一些关于流操纵算子,来对我们程序中的输出结果进行格式化的输出。

    流操纵算子作  用
    *dec 以十进制形式输出整数 常用
    hex 以十六进制形式输出整数
    oct 以八进制形式输出整数
    fixed 以普通小数形式输出浮点数
    scientific 以科学计数法形式输出浮点数
    left 左对齐,即在宽度不足时将填充字符添加到右边
    *right 右对齐,即在宽度不足时将填充字符添加到左边
    setbase(b) 设置输出整数时的进制,b=8、10 或 16
    setw(w) 指定输出宽度为 w 个字符,或输人字符串时读入 w 个字符
    setfill(c) 在指定输出宽度的情况下,输出的宽度不足时用字符 c 填充(默认情况是用空格填充)
    setprecision(n) 设置输出浮点数的精度为 n。

    在使用非 fixed 且非 scientific 方式输出的情况下,n 即为有效数字最多的位数,如果有效数字位数超过 n,则小数部分四舍五人,或自动变为科学计 数法输出并保留一共 n 位有效数字.

    在使用 fixed 方式和 scientific 方式输出的情况下,n 是小数点后面应保留的位数
    setiosflags (标志) 将某个输出格式标志置为 1
    resetiosflags(标志) 将某个输出格式标志置为 0

    程序如下:

    #include <iostream>
    #include <iomanip>
    using namespace std;
    int main()
    {
        int n = 141;
        //1) 分别以十六进制、十进制、八进制先后输出 n
        cout << "1)" << hex << n << " " << dec << n << " " << oct << n << endl;
        double x = 1234567.89, y = 12.34567;
        //2)保留5位有效数字
        cout << "2)" << setprecision(5) << x << " " << y << " " << endl;
        //3)保留小数点后面5位
        cout << "3)" << fixed << setprecision(5) << x << " " << y << endl;
        //4)科学计数法输出,且保留小数点后面5位
        cout << "4)" << scientific << setprecision(5) << x << " " << y << endl;
        //5)非负数显示正号,输出宽度为12字符,宽度不足则用 * 填补
        cout << "5)" << showpos << fixed << setw(12) << setfill('*') << 12.1 << endl;
        //6)非负数不显示正号,输出宽度为12字符,宽度不足则右边用填充字符填充
        cout << "6)" << noshowpos << setw(12) << left << 12.1 << endl;
        //7)输出宽度为 12 字符,宽度不足则左边用填充字符填充
        cout << "7)" << setw(12) << right << 12.1 << endl;
        //8)宽度不足时,负号和数值分列左右,中间用填充字符填充
        cout << "8)" << setw(12) << internal << -12.1 << endl;
        cout << "9)" << 12.1 << endl;
        return 0;
    }

    运行结果:

  • 相关阅读:
    父div不会被子div撑高
    ie6兼容问题
    浏览器兼容性技巧
    css hack基本语法
    网站设置为灰色
    .net cookie跨域请求指定请求域名
    实体对象属性和值转为键值对Dictionary
    C#通过对象属性名修改值
    jQuery.noConflict()解决imgBox.js依赖jquery版本问题
    华为OJ之最长公共子序列
  • 原文地址:https://www.cnblogs.com/single-dont/p/10479514.html
Copyright © 2020-2023  润新知