C 中cout位數控制

2021-06-28 06:59:44 字數 1999 閱讀 5252

常用:

例如:
當a=8時輸出008

當a=18時輸出018

當a=118時輸出118

用cout如何寫?

**:

cout<

以下詳解參考

#include //不要用iostream.h ,會出現好多問題

#include // io 流控制標頭檔案, 主要是一些操縱用法如setw(int n),setprecision(int n)

//,setbase(int n),setfill(char c)的.

▲setw(n)用法: 通俗地講就是預設寬度

如:

cout《結果是:

@@255

▲setfill(char c) 用法 : 就是在預設寬度中如果已存在沒用完的寬度大小,則用設定的字元c填充

如 :

cout《結果是:

@@255

▲setbase(int n) : 將數字轉換為 n 進製.

如 :

cout<

結果是:

(空格)(空格)377

(空格)(空格) 255

(空格)(空格) f f

▲ setprecision用法

注意:

用cout輸出,需要設定小數點後

精度時,需要用cout<

也就是說,不用fixed的時候,setprecision():預設是整個數字包括小數點前後的有效位數,加上fixed後是特定小數點後位數。

使用setprecision(n)可控制輸出流顯示浮點數的數字個數。c++預設的流輸出數值有效位是6。

如果setprecision(n)與setiosflags(ios::fixed)合用,可以控制小數點右邊的數字個數。setiosflags(ios::fixed)是用定點方式表示實數。

如果與setiosnags(ios::scientific)合用, 可以控制指數表示法的小數字數。setiosflags(ios::scientific)是用指數方式表示實數。

例如,下面的**分別用浮點、定點和指數方式表示乙個實數:

#include #include //要用到格式控制符

void main()

{double amount = 22.0/7;

cout <

執行結果為:

3.1428633

3.13.14

3.143

3.14285714

3.14285714e+00

該程式在32位機器上執行通過。

在用浮點表示的輸出中,setprecision(n)表示有效位數。

第1行輸出數值之前沒有設定有效位數,所以用流的有效位數預設設定值6:第2個輸出設定了有效位數0,c++最小的有效位數為1,所以作為有效位數設定為1來看待:第3~6行輸出按設定的有效位數輸出。

在用定點表示的輸出中,setprecision(n)表示小數字數。

第7行輸出是與setiosflags(ios::fixed)合用。所以setprecision(8)設定的是小數點後面的位數,而非全部數字個數。

在用指數形式輸出時,setprecision(n)表示小數字數。

第8行輸出用setiosflags(ios::scientific)來表示指數表示的輸出形式。其有效位數沿用上次的設定值8

setw(n)是設定域寬。

就是你的輸出要佔多少個字元

比如:

cout<

就輸出12345

cout<

輸出12345

而如果你要輸出的字元寬度超出了setw(n)的n值,就按輸出字元的寬度輸出。

如:

cout<

就輸出:

12.3456

C 中cout位數控制

常用 例如 當a 8時輸出008 當a 18時輸出018 當a 118時輸出118 用cout如何寫?cpp view plain copy cout 0 以下詳解參考 cpp view plain copy include 不要用iostream.h 會出現好多問題 include io 流控制標...

C 中cout精度控制

設定scientific標誌導致浮點數字值以科學記數法顯示 似乎是以十六進製制表示 當設定fixed時,浮點值以通常 記數法顯示。預設時,當設定fixed時,顯示六位十進位制位。當這些標誌都沒有設定時,編譯程 序選擇一種適當的方式。setprecsion n 是格式控制符。由於cout自身的問題,所...

用cout控制輸出小數的位數

採用格式控制符setprecision n 控制,或者流物件的成員函式precision n 使用時都要結合fixed使用,否則n指的是整數字數和小數字數的和 使用setprecision n 要加標頭檔案iomanip 1 precision 函式和fixed includeusing names...