溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++之格式化輸出

發布時間:2020-06-24 18:46:21 來源:網絡 閱讀:878 作者:101MHz 欄目:移動開發

  每個輸出流都有 precision 成員函數,一旦為某個輸出流調用了 precision 函數,向該流輸出帶小數點的數字時候,要么總共保留兩位有效數字,要么在小數點之后保留兩位,具體實現方式由編譯器決定。precision函數只對指定的流生效。

  setf 成員函數是set flags的縮寫,不是set format的縮寫!是以二選一的方式來做一件事情的指令。

ios::fixed  標志導致 流 采用 定點計數法 來輸出double類型的數字,而不是用采用 e記數法

ios::showpoint 標志要求 流 總是在 浮點數 中包含小數點。

ios::scientific 標志會用 e記數法 輸出數字。

ios::showpos 標志正整數前會輸出 + 號

ios::right標志如果使用,同時使用了 width 指定了域寬,輸出的下一項會采用 右對齊。默認為此項

ios::left標志如果使用,同時使用了 width 指定了域寬,輸出的下一項會采用 左對齊


  width 成員函數用來設置 域寬。例如:

    cout << "a";    
    cout.width(4);
    cout << 7 << endl;

  則輸出 a   7。a與7之間有3個空格,因為系統默認是設置 ios::right 右對齊。

  注意 width 成員函數只適應于下一個要輸出的項,如果要輸出多個項,要調用多次width,如果嫌麻煩,可以使用流操縱元 setw。

  設置的任何標志都可以取消設置,通過調用 unsetf 成員函數即可取消設置,例如:

    cout.unsetf(ios::showpos);

  即可取消正整數前面顯示 + 號。

  setw 和 setprecision 操縱元。

    操縱元是以非傳統的方式調用的函數。操縱元位于插入操作符 << 之后。兩個操縱元均在 iomanip 庫中,要想使用,需要調用該庫。

  setw 操縱元和 width 成員函數作用一樣,要想多次設置域寬,需要調用多次 setw 操縱元。實際上,setw 操縱元就是調用了 width 成員函數。如下代碼:

    cout << "a" << set(5) << 1    
                << set(5) << 2
                << set(7) << 3 << endl;

該語句輸出為:a    1    2      3。其中 1、2 前面有4個空格,3 前面有 6 個空格。

  setprecision 操縱元和 precision 成員函數功能一樣。如下代碼:

    cout.setf(ios::fixed);
    cout.setf(ios::showpoint);
    cout << "a" << setprecision(2) << 1.2
                                 << 2.3 << endl;

  setprecision 操縱元與 precision 成員函數一樣,設置之后一直生效。上例輸出結果:1.20 2.30。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女