說一下c++中的輸出控制,先交代一下系統環境:
在c++程式設計中經常會遇到浮點數的處理,尤其是對浮點數的位數有要求,在c語言中printf可通過語法快速實現,如下:
double a=
1e-5
;// 1 x 10^(-5)
printf
("%.6lf"
,a);
即可達到以下效果
c++是c語言的公升級版,有著比c語言更加多的控制輸出條件,主要依賴於iomanip標頭檔案中的函式,主要使用中的setw()和setfill()函式
**如下:
double a=
1e-5
;int b=2;
//設定輸出5位寬度 預設右對齊
cout<<
setw(5
)<
//設定輸出5位寬度 不足位數用0補
cout<<
setfill
('0'
)<<
setw(5
)<
效果如下:
同樣是使用iomanip標頭檔案,這次使用setbase()函式,別問我為啥只說整數的進製轉換,問就是計算機組成原理:10進製有些小數無法被其他進製表示
cout<<
setbase(16
)<<
21<
//16進製制
cout<<
setbase(8
)<<
21<
//8進製
cout<<
setbase(10
)<<
0xff
<
//10進製
結果如下:
特別說明setbase函式只能以8,10,16為引數,即只能轉化成8進製,10進製,16進製制的數。輸入其他引數時函式失效。
同樣使用iomanip標頭檔案,使用setprecision()函式
double a=
1e-5
; cout.
setf
(ios::fixed,ios::floatfield)
;//不用科學計數法表示浮點數
cout<<
setprecision(6
)<
結果:
當資料較多的時候可以統一處理浮點數小數字數,精簡**。
double a=
1e-5
; cout.
setf
(ios::fixed,ios::floatfield)
;//不用科學計數法表示浮點數
cout.
precision(7
);cout<
cout<
cout<<
1.4e-2
<
cout<
cout<
效果如下:
這樣我們就可以控制資料的輸出格式了。
C cout輸出小數點後指定位數
在c 的程式設計中,總會遇到浮點數的處理,有的時候,我們只需要保留2位小數作為輸出的結果,這時候,問題來了,怎樣才能讓cout輸出指定的小數點後保留位數呢?在c語言的程式設計中,我們可以這樣實現它 printf 2f sample 在c 中,是沒有格式符的,我們可以通過使用setprecision ...
C cout輸出小數點後指定位數
在c 的程式設計中,總會遇到浮點數的處理,有的時候,我們只需要保留2位小數作為輸出的結果,這時候,問題來了,怎樣才能讓cout輸出指定的小數點後保留位數呢?在c語言的程式設計中,我們可以這樣實現它 printf 2f sample 在c 中,是沒有格式符的,我們可以通過使用setprecision ...
C cout輸出技巧
cout預設輸出格式為十進位制。如果要輸出十六進製制,輸出前加 cout hex 如果要輸出八進位制,輸出前加 cout oct 在cout 以及大多數c 表示式 中,char陣列名 char指標以及用引號括起的字串常量都被解釋為字串第乙個字元的位址。此時,cout將列印該位址處的字元,然後繼續列印...