MFC中CStringFormat的详细用法.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在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  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? 一、字符串? 首先看它的声明:?? function?Format(const?Format:?string;?const?Args:?array?of?const):?string;?overload;?? 事实上Format方法有两个种形式,另外一种是三个参数的,主要区别在于它是线程安全的,?? 但并不多用,所以这里只对第一个介绍:?? function?Format(const?Format:?string;?const?Args:?array?of?const):?string;?overload;?? Format参数是一个格式字符串,用于格式化Args里面的值的。Args又是什么呢,?? 它是一个变体数组,即它里面可以有多个参数,而且每个参数可以不同。?? 如以下例子:?? Format(my?name?is?%6s,wind);?? 返回后就是?? my?name?is?wind?? 现在来看Format参数的详细情况:?? Format里面可以写普通的字符串,比如my?name?is?? 但有些格式指令字符具有特殊意义,比如%6s?? 格式指令具有以下的形式:?? %?[index?:]?[-]?[

文档评论(0)

gangshou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档