format指定輸出格式,后面跟要輸出的變量
目前printf支持以下格式:
%c 單個字符
%d 十進(jìn)制整數(shù)
%f 十進(jìn)制浮點數(shù)
%o 八進(jìn)制數(shù)
%s 字符串
%u 無符號十進(jìn)制數(shù)
%x 十六進(jìn)制數(shù)
%% 輸出百分號%
一個格式說明可以帶有幾個修飾符,用來指定顯示寬度,小數(shù)尾數(shù)及左對齊等:
- 左對齊
+ 在一個帶符號數(shù)前加'+'或'-'號
0 域?qū)捰们皩?dǎo)零來填充,而不是用空白符
域?qū)捠且粋€整數(shù),設(shè)置了打印一個格式化字符串的最小域。精度使用小數(shù)點后加數(shù)字表示的,給出每個轉(zhuǎn)換說明符所要輸出的字符個數(shù)。
注意:帶修飾符的顯示可能不正常。
數(shù)據(jù)格式說明由“%”開頭,形式為 %<數(shù)據(jù)輸出寬度說明><格式符>,數(shù)據(jù)格式說明用在需要輸出變量或運算數(shù)值結(jié)果的時候,它的個數(shù)與輸出表列的個數(shù)一一對應(yīng)。
數(shù)據(jù)寬度說明中如果實際數(shù)據(jù)小于寬度,則根據(jù)寬度是否大于零而左補空格或右補空格。如果實際數(shù)據(jù)大于寬度,按實際位數(shù)輸出。如果缺省寬度說明,則按實際寬度輸出。
CString.format('%10f', a);
10表示把a以10個字符寬度格式化
%f形式輸出,則小數(shù)部分為6位;
例
%10f 若a的整數(shù)部分位數(shù)+小數(shù)點(1位)+小數(shù)部分位數(shù)大于等于10,則按實際a的形式格式化;
若a的整數(shù)部分位數(shù)+小數(shù)點(1位)+小數(shù)部分位數(shù)小于10,則在前面補空格,補足10位;
例
%.7f 則
a的小數(shù)部分位數(shù)若大于7,則截取7位小數(shù),整數(shù)部分不變;
a的小數(shù)部分位數(shù)若小于等于7,則不滿7位的部分后面以0補足;
str.Format(_T('Left-justified integer: %.6d\n'), b);
%.6d
若整數(shù)b不滿6位則在最高為前面補0;
若整數(shù)b大于等于6位則形式不變;
%6d
若整數(shù)b不滿6位,則在最高位前面補上空格,是之格式化為6個字符寬度;
若整數(shù)b大于等于6位則形式不變。