MFC中cstring.Format利用CString和Format成员函数将数字格式化输出

10 篇文章 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

                  2)https://www.cnblogs.com/fwy-walking/p/4020637.html

             

 

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值