- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)