美文网首页
C++ 基础-定点模式

C++ 基础-定点模式

作者: zcwfeng | 来源:发表于2023-06-11 12:57 被阅读0次

    cout.setf 函数

    cout.setf(ios_base::fixed, ios_base::floatfield); // fixed-point

    #include <iostream>
    int main()
    {
        using namespace std; 
        cout.setf(ios_base::fixed, ios_base::floatfield); // fixed-point
        float tub = 10.0 / 3.0;     // good to about 6 places
        double mint = 10.0 / 3.0;   // good to about 15 places
        const float million = 1.0e6;
    
        cout << "tub = " << tub;
        cout << ", a million tubs = " << million * tub;
        cout << ",\nand ten million tubs = ";
        cout << 10 * million * tub << endl;
    
        cout << "mint = " << mint << " and a million mints = ";
        cout << million * mint << endl;
        // cin.get();
        return 0;
    }
    

    C++中通过cout来实现格式输出,就类似于C语言中通过printf()来实现格式输出。cout.setf()的作用是通过设置格式标志来控制输出形式,其中ios_base::fixed表示:用正常的记数方法显示浮点数(与科学计数法相对应);ios_base::floatfield表示小数点后保留6位小数。

    setf()函数有两个原型,分别是:
    fmtflags setf(fmtflags flags);
    fmtflags setf(fmtflags flags, fmtflags mask);

    setf()的第一原型:
    C++为标准输入和输出定义了一些格式标志, 它可以通过flags(), setf(), 和 unsetf() 三个函数来控制.

    例如 cout.setf(ios_base::left); //对所有cout的输出进行左对齐调整.

    还有一些常见的标志:

    image.png

    setf()的第二原型:
    第二原型包含两个参数,第一个参数和第一原型里的参数一样,第二个参数指出要清除第一参数中的哪些位,也就是说,在第二原型中,第一个参数指出要设置哪些位,第二个参数指出要清除哪些位。

    image.png

    再回到C++ cout.setf(ios_base::fixed,ios_base::floatfiled)
    就是说输出使用定点输出,同时输出到小数点后6位。
    对于定点计数和科学计数法
    精度是指小数点后几位数
    显示末尾的0

    相关文章

      网友评论

          本文标题:C++ 基础-定点模式

          本文链接:https://www.haomeiwen.com/subject/hqwxydtx.html