【C++】【轉】MFC中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);

  Format是一個很常用,卻又似乎很煩的方法,以下是它的完整概貌,以供大家查詢之用:  

  格式化字符串forma("%d",12)意思是將一個整形的格式化的字符(我認為是保持其形狀不變
  1).
格式說明總是以%字符開始,以下是不同類型數據的格式方式%號后的說明
    d
輸出帶符號十進制數 
    o
輸出無符號八進制數 
    x
輸出無符號十六進制數 
    u
輸出無符號數 
    c
輸出單個字符 
    s
輸出一串字符 
    f
輸出實數(6位小數) 
    e
以指數形式輸出實數 
    g
選用fe格式中輸出寬度較小的格式,不輸出
    ld
輸入輸出long型數據 
    lf
輸入輸出double型數據 
    m
數據輸出寬度為
    .n
輸出小數位數為


 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM