【C++】MFC中CString.Format的用法

來源:互聯網
上載者:User

  在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選用f與e格式中輸出寬度較小的格式,不輸出0 
    ld輸入輸出long型資料 
    lf輸入輸出double型資料 
    m資料輸出寬度為m 
    .n輸出小數位元為n 


 

 

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.