1. 程式人生 > >CString的Format方法使用技巧總結

CString的Format方法使用技巧總結

在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);