程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++流操作算子

C++流操作算子

編輯:關於C++

用過c語言的都知道c語言的精度格式控制非常簡單容易,剛學C++也許還不懂怎麼在C++中使用這些功能.這裡有兩個方法來使用這些功能.

變量使用:

    int n = 64;
    double d = 123.45;
    double d2 = 0.0183;

一.使用流操縱算子
首先得包含頭文件
1.寬度控制

    cout << n << '#' << endl;
    //寬度控制不會影響下一個變量
    cout << setw(10) << n << '#' << endl;//默認右對齊
    cout << n << '#' << endl;

\

2.對齊控制

    //對齊控制會影響下面的變量對其方式
    cout << setw(10) << setiosflags(ios::left) << n << '#' << endl;//左對齊
    cout << setw(10) << n << '#' << endl;
    cout << setw(10) << setiosflags(ios::right) << n << '#' << endl;//還原成右對齊
    //cout << setw(10) << resetiosflags(ios::left) << n << '#' << endl << endl;//還原成右對齊

\

3.填充控制

    //填充控制會影響下面的輸出
    cout << setw(10) << setfill('@') << n << '#' << endl;
    cout << setw(10) << n << '#' << endl;
    cout << setw(10) << setfill(' ') << n << '#' << endl; //還原成空格填充

\

4.精度控制

    //精度控制會影響下面的輸出
    cout << setprecision(4) << d << endl; //控制有效數字的位數
    cout << setprecision(2) << d2 << endl;//四捨五入,而不是簡單的截斷
    cout << d << endl;
    cout << setiosflags(ios::fixed);      //控制小數點後面的位數
    cout << setprecision(4) << d << endl; //同樣是四捨五入
    cout << setprecision(2) << d2 << endl;

\

5.進制控制

    cout << "dec: " << n << endl;
    cout <<"oct: "<

\

二.以流成員函數的方式(不用包含iomanip頭文件)
1.寬度控制

    cout << n << endl;
    cout.width(10);
    cout << n << '#' << endl;

\

2.對齊控制

    cout << n << endl;
    cout.width(10);
    cout.setf(ios::left);
    cout << n << '#' << endl;
//  cout.width(10);
//  cout.setf(ios::right);
//  cout << n << '#' << endl;
    cout.width(10);
    cout.unsetf(ios::left);
    cout << n << '#' << endl;

\

3.填充控制

    cout << n <<'#'<< endl;
    cout.width(10);
    cout.fill('@');
    cout << n << '#' << endl;
    cout.width(10);
    cout << n << '#' << endl;
    cout.width(10);
    cout.fill(' ');
    cout << n << '#' << endl;

\

4.精度控制

    cout.precision(2);   //這個會影響下面的輸出
    cout << d << endl;
    cout << d2 << endl;
    cout.setf(ios::fixed);  //控制小數點位數
    cout << d << endl;
    cout << d2 << endl;

\

5.進制控制

    cout.unsetf(ios::dec); //要切換進制的時候需要先去掉原先的進制
    cout.setf(ios::oct);
    cout << n << endl;

輸出為100.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved