MFC中cstring.Format利用CString和Format成员函数将数字格式化输出 妖狐艹你老母 2022-02-01 06:29 718阅读 0赞 string.Format("格式控制字符串”,输出列表) 在MFC程序中,使用CString来处理字符串是一个很不错的选择。CString既可以处理Unicode标准的字符串,也可以处理ANSI标准的字符串。 格式控制字符串包括格式字符串和非格式字符串,用双引号括起来。其中非格式字符串原样输出。 格式字符串是以%开头的字符串:%\[标识\]\[输出最小宽度\]\[精度\]转换说明符。 常用转换说明符:d,整型;f,浮点型,双精度;e,指数形式输出,双精度;s,输出字符串,参数为char\*指针;等。 \[\]内是可以省略的。 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); **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); **3.将十进制数转换为八进制** CString str; int num=255; //str="377" str.Format(\_T("%o"),num); //str="00000377" str.Format(\_T("%.8o"),num); 参考博客:1)[https://blog.csdn.net/wangkaishou/article/details/5846152][https_blog.csdn.net_wangkaishou_article_details_5846152] 2)[https://www.cnblogs.com/fwy-walking/p/4020637.html][https_www.cnblogs.com_fwy-walking_p_4020637.html] [https_blog.csdn.net_wangkaishou_article_details_5846152]: https://blog.csdn.net/wangkaishou/article/details/5846152 [https_www.cnblogs.com_fwy-walking_p_4020637.html]: https://www.cnblogs.com/fwy-walking/p/4020637.html
还没有评论,来说两句吧...