在MFC程序中,,使用CString來處理字符串是一個很不錯的選擇,。CString既可以處理Unicode標準的字符串,也可以處理ANSI標準的字符串,。CString的Format方法給我們進行字符串的轉換帶來了很大的方便,,比如常見的int、float和double這些數(shù)字類型轉換為CString字符串只需一行代碼就可以實現(xiàn),。
先看看Format用于轉換的格式字符:
%c 單個字符
%d 十進制整數(shù)(int)
%ld 十進制整數(shù)(long)
%f 十進制浮點數(shù)(float)
%lf 十進制浮點數(shù)(double)
%o 八進制數(shù)
%s 字符串
%u 無符號十進制數(shù)
%x 十六進制數(shù)
1,、int轉換為CString:
CString str;
int number=15;
//str="15"
str.Format(_T("%d"),number);
//str=" 15"(前面有兩個空格;4表示將占用4位,,如果數(shù)字超過4位將輸出所有數(shù)字,,不會截斷)
str.Format(_T("%4d"),number);
//str="0015"(.4表示將占用4位,如果數(shù)字超過4位將輸出所有數(shù)字,,不會截斷)
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表示小數(shù)點后留1位,,小數(shù)點后超過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,、將十進制數(shù)轉換為八進制:
CString str;
int num=255;
//str="377"
str.Format(_T("%o"),num);
//str="00000377"
str.Format(_T("%.8o"),num);