1.使用控制符控制輸出格式
控制符作用
dec設定整數的基數為10
hex設定整數的基數為16
oct設定 整數的基數為8
setbase(n)
設定整數的基數為n(n只能是16,10,8之一)
setfill(c)
設定填充字元c,c可以是字元常量或字元變數
setprecision(n)
setprecision(n)設定實數的精確度為n位。
在以十進位制小數形式輸出時,n代表有效數字位數。
在以fixed(固定小數字數)形式和scientific(指數)形式輸出時,n為小數字數。
setw(n)
設定字段寬度為n位。
setiosflags(ios::fixed)
設定浮點數以固定的小數字數顯示。
setiosflags(ios::scientific)
設定浮點數以科學計數法(即指數形式)顯示。
setiosflags(ios::left)
輸出資料左對齊。
setiosflags(ios::right)
輸出資料右對齊。
setiosflags(ios::shipws)
忽略前導的空格。
setiosflags(ios::uppercase)
在以科學計數法輸出e和十六進製制輸出字母x時,以大寫表示。
setiosflags(ios::showpos)
輸出正數時,給出「+」號。
resetiosflags
終止已設定的輸出格式狀態,在括號中應指定內容。
2.用流物件的 成員控制輸出格式
流成員函式
與之作用相同的控制符
作用precision(n)
setprecision(n)
設定實數的精度為n位。
width(n)
setw(n)
設定字段寬度為n位。
fill(c)
setfill(c)
設定填充字元c。
setf( )
setiosflags( )
設定輸出格式狀態,括號中應給出格式狀態,內容與控制符setiosflags括號中內容相同。
ubsetf( )
resetiosflags( )
終止已設定的輸出格式狀態。
cout.width(10); cout.setf(ios::hex);
3.設定格式狀態的格式標誌
格式標誌
作用ios::left
輸出資料在本域寬範 圍內左對齊
ios::right
輸出資料在本域寬範圍內右對齊
ios::internal
數值的符號位在域寬內左對齊,數值右對齊,中間由填充字元填充
ios::dec
設定整數的基數為10
ios::oct
設定整數的基數為8
ios::hex
設定整數的基數為16
ios::showbase
強制輸出整數的基數(八進位制以0打頭,十六進製制以0x打頭)
ios::showpoint
強制輸出浮點數的小點和尾數0
ios::uppercase
在以科學計數法輸出e和十六進製制輸出字母x時,以大寫表示
ios::showpos
輸出正數時,給出「+」號。
ios::scientific
設定浮點數以科學計數法(即指數形式)顯示
ios::fixed
設定浮點數以固定的小數字數顯示
ios::unitbuf
每次輸出後重新整理所有流
ios::stdio
每次輸出後清除 stdout,stderr
setw(int _w)講解
setw(int _w) << 輸出位寬 如<< setw(7) << 1000 輸出結果為 "1000 "(緊跟三個空格) 而如<< setw(3) << 1000 位寬小於原來的數字的位寬 那麼按照原來的格式輸出"1000" 前後無空格
setfill() 講解
setfill(int _m) 隨setw(int _w)一起使用 意思是在set(int _w)設定後的空格填充指定的字元 注意setfill裡邊的引數是int _m 是個整數.所以,如果我們要用空格來填充*號的時候 要使用setfill('*')[字元] 而不是setfill(*)
(1)setw(int n) 預設輸出寬度
如:cout《輸出結果為「 123」,在123的前面會有3個空格,123右對齊。
(2)setfill(char c) 預設填充字元
如:cout《輸出顯示結果為「###123」,123右對齊,在前面填充3個』#』 。
(3)setbase(int n) 預設整數輸出進製
如:cout《輸出顯示結果為377
(4)setprecision(int n) 用於控制輸出流顯示浮點數的精度,整數n代表顯示的浮點數數字的個數。示例程式如下:
#include
#include //格式控制
using namespace std;
int main()
第1行輸出數值之前沒有設定有效位數,所以用流的有效位數預設設定值6
第2個輸出設定了有效位數0,c++最小的有效位數為1,所以作為有效位數設定為1來看待
第3~6行輸出按設定的有效位數輸出。
第7行輸出是與setiosflags(ios::fixed)合用。所以setprecision(8)設定的是小數點後面的位數,而非全部數字個數。
第8行輸出用setiosflags(ios::scientific)來表示指數表示的輸出形式。其有效位數沿用上次的設定值8。
在用指數形式輸出時,setprecision(n)表示小數字數。
一、輸出固定位小數 & 固定位整數
#include//標頭檔案
float c = 3.234;
cout設定浮點數以固定的小數字數顯示
setprecision(2):
是設定浮點數的精度為2位。
二、取整函式:
注意:需要標頭檔案 math
1.ceil(x) 返回大於或等於x的最小整數值(然後轉換為double型)
如: ceil(10.5) == 11 ceil(-10.5) ==-10
2.floor(x) 返回小於或等於x的最大整數值
如: floor(10.5) == 10 floor(-10.5) == -11
3.round(x) 返回x的四捨五入整數值
如: round(-1.3)=-1;round(-1.52)=-2;round(1.3)=1;round(1.52)=2
相關函式:fabs
標頭檔案:#include
定義函式:double ceil (double x);
函式說明:ceil()會返回不小於引數x 的最小整數值, 結果以double 形態返回.
範例#include
main()
;int i;
for (i = 0; value[i] != 0; i++)
printf("%f=>%f\n", value[i], ceil(value[i]));}執行
4.800000=>5.000000
1.120000=>2.000000
-2.200000=>-2.000000
C 中關於資料小數點,取整的方法
double a 0.123 double b 1.233 double c 0.0125 cout setptecision 3 a b c endl 結果為 0.123 1.23 0.0125 如果需要指定小數點後面的位數,可以使用 setiosflags ios fixed 其標頭檔案為 in...
關於C 中的get與set函式
在程式中經常碰到get set,不甚明白,在網上查詢時也說的迷迷糊糊,所以整理下,以學的明白透徹點。有兩個類person public class person public class person 第乙個型別的name屬性未封裝,其name屬性直接通過public關鍵字暴露給系統中的其他類了,而...
c 中關於char型變數與字串位址的輸出
參考至 在c裡面如果指標是乙個基本數值型 int foalt long等,如果輸出裡有 cout ptr endl 其中ptr是指標的名,則輸出的值是指標的位址,如果是char char指標 則輸出的是char指標的值。在c 中,熟悉int和char型的變數是最基本不過的了,不過,我想,很多初學者會...