MFC中CString.Format的用法
http://www.cnblogs.com/kongtiao/archive/2012/06/13/2548033.html
在MFC程序中,使用CString來處理字符串是一個很不錯的選擇。CString既可以處理Unicode標準的字符串,也可以處理ANSI標準的字符串。CString的Format方法給我們進行字符串的轉換帶來了很大的方便,比如常見的int、float和double這些數字類型轉換為CString字符串只需一行代碼就可以實現。
先看看Format用于轉換的格式字符:
%c???????????????? 單個字符
%d???????????????? 十進制整數(int)
%ld??????????????? 十進制整數(long)
%f???????????????? 十進制浮點數(float)
%lf??????????????? 十進制浮點數(double)
%o???????????????? 八進制數
%s???????????????? 字符串
%u???????????????? 無符號十進制數
%x???????????????? 十六進制數
?
1、int轉換為CString:
CString str;
int number=15;
//str="15"
str.Format(_T("%d"),number);
//str=" 15"(前面有兩個空格;4表示將占用4位,如果數字超過4位將輸出所有數字,不會截斷)
str.Format(_T("%4d"),number);
//str="0015"(.4表示將占用4位,如果數字超過4位將輸出所有數字,不會截斷)
str.Format(_T("%.4d"),number);
long轉換為CString的方法與上面相似,只需要把%d改為%ld就可以了。
?
2、double轉換為CString:
CString str;
double num=1.46;
//str="1.46"
str.Format(_T("%lf"),num);
//str="1.5"(.1表示小數點后留1位,小數點后超過1位則四舍五入)
str.Format(_T("%.1lf"),num);
//str="1.4600"
str.Format(_T("%.4f"),num);
//str=" 1.4600"(前面有1個空格)
str.Format(_T("%7.4f"),num);
float轉換為CString的方法也同上面相似,將lf%改為f%就可以了。
?
3、將十進制數轉換為八進制:
CString str;
int num=255;
//str="377"
str.Format(_T("%o"),num);
//str="00000377"
str.Format(_T("%.8o"),num);
Format是一個很常用,卻又似乎很煩的方法,以下是它的完整概貌,以供大家查詢之用:??
格式化字符串forma("%d",12)意思是將一個整形的格式化的字符(我認為是保持其形狀不變)?
格式說明總是以%字符開始,以下是不同類型數據的格式方式%號后的說明:?
d輸出帶符號十進制數?
o輸出無符號八進制數?
x輸出無符號十六進制數?
u輸出無符號數?
c輸出單個字符?
s輸出一串字符?
f輸出實數(6位小數)?
e以指數形式輸出實數?
g選用f與e格式中輸出寬度較小的格式,不輸出0?
ld輸入輸出long型數據?
lf輸入輸出double型數據?
m數據輸出寬度為m?
.n輸出小數位數為n?
MFC中CString.Format的詳細用法 - wangkaishou的專欄 - CSDN博客 http://blog.csdn.net/wangkaishou/article/details/5846152
?
轉載于:https://www.cnblogs.com/wxl845235800/p/7426134.html
總結
以上是生活随笔為你收集整理的MFC中CString.Format的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: halcon rectangle1_do
- 下一篇: halcon hough_lines 霍