有時候需要利用c++進行格式化輸出,比如指定位數、不足用0補齊、按列靠右對齊等等。
一般有兩種方法:
- 利用iostream物件成員函式修改格式狀態值
< ios >或者< iostream >裡定義了iostream類的成員函式,比如函式setf,可以設定相應的format flags,比如cout.setf(fixed)會設定cout的浮點數以定點而不是科學計數法來輸出。
- 向物件中輸出< iomanip >中的操作符
比如cout<設定最小寬度
int main()cout.width()返回cout的輸出最小寬度值,預設為0,width(8),修改width值為8,然後下乙個輸出靠右對齊左邊用空格補齊,第二次輸入a0的時候,發現width(8)失效了,說明width值修改只影響下一次輸出,並沒有更改cout的格式狀態值。setw()的作用是一樣的,只是使用方式的區別。//輸出03
333
只輸出a0,我們還無法知道兩個問題:小數點算不算是寬度,如果待輸出寬度大於設定的最小寬度值怎麼辦
int main()
//輸出
0003.141
3.14159
set fill
設定了位數不足時用什麼字元來補齊,第乙個輸出告訴我們,小數點也算在內,第二個輸出告訴我們,width或者setw只是設定了最小寬度,當待輸出寬度大於該值時,不受影響,全部輸出。
控制浮點數格式
預設情況下,標準庫會根據值的大小選擇定點十進位制還是科學計數法來輸出:對於非常大的數或者非常小的數,用科學計數法來輸出,否則列印為定點十進位制。當然我們也可以自己設定浮點數格式,同樣有兩種方法。
int main()
也可以用precision()
函式來做。
其實還可以格式化輸入,以後再來**。
C 格式化輸出
int a 12345678 格式為sring輸出 label1.text string.format asdfadsfadsfasdf a label2.text asdfadsf a.tostring adsfasdf label1.text string.format asdfadsfadsf...
c格式化輸出
printf 函式是格式化輸出函式,一般用於向標準輸出裝置按規定格式輸出資訊。在編寫程式時經常會用到此函式。printf 函式的呼叫格式為 printf 格式化字串 參量表 其中格式化字串包括兩部分內容 一部分是正常字元,這些字元將按原樣輸出,另一部分是格式化規定字元,以 開始,後跟乙個或幾個規定字...
c格式化輸出
一 printf 函式 printf 函式是格式化輸出函式,一般用於向標準輸出裝置按規定格式輸出資訊。在編寫程式時經常會用到此函式。printf 函式的呼叫格式為 printf 格式化字串 參量表 其中格式化字串包括兩部分內容 一部分是正常字元,這些字元將按原樣輸出,另一部分是格式化規定字元,以 開...