http://www.cnblogs.com/kongtiao/archive/2012/06/13/2548033.html

  在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)意思是将一个整形的格式化的字符(我认为是保持其形状不变) 
   格式说明总是以%字符开始,以下是不同类型数据的格式方式%号后的说明: 
    d输出带符号十进制数 
    o输出无符号八进制数 
    x输出无符号十六进制数 
    u输出无符号数 
    c输出单个字符 
    s输出一串字符 
    f输出实数(6位小数) 
    e以指数形式输出实数 
    g选用f与e格式中输出宽度较小的格式,不输出0 
    ld输入输出long型数据 
    lf输入输出double型数据 
    m数据输出宽度为m 
    .n输出小数位数为n

MFC中CString.Format的详细用法 - wangkaishou的专栏 - CSDN博客http://blog.csdn.net/wangkaishou/article/details/5846152


MFC中CString.Format的用法的更多相关文章

  1. MFC中CString.Format的详细用法

          本文转载自:http://blog.csdn.net/wangkaishou/article/details/5846152,感谢网友 Technorati 标签: CString For ...

  2. MFC中CString.Format类详解

    在MFC程序中,使用CString来处理字符串是一个很不错的选择.CString既可以处理Unicode标准的字符串,也可以处理ANSI标准的字符串.CString的Format方法给我们进行字符串的 ...

  3. 简析MFC中CString用作C字符串

      MFC中CString是一个方便的字符串操作的类, 然而很多函数需要传递字符指针, 这就需要进行CString和普通字符串的转换. 1.CString用作C字符串常量. 直接使用强制类型转换即可, ...

  4. 关于在mfc中cstring转为float和ini

    CString str1,str, str2; GetDlgItemText(IDC_EDIT1, str1); GetDlgItemText(IDC_EDIT2, str2); UINT value ...

  5. MFC中cstring,string和char[]的相互转化

    int 转 CString:CString.Format("%d",int);...............................string 转 CString CSt ...

  6. MFC中CString转换成char数组的问题

    由于结构体中用到联合体(联合体需要确定分配内存分配大小)或其它因素,需要用char数组来保存字符串,但是在MFC中一般都是用CString来存放字条串.关于它们之间的转换,在VS2008中有时会出现异 ...

  7. 实战c++中的string系列--std::string与MFC中CString的转换

    搞过MFC的人都知道cstring,给我们提供了非常多便利的方法. CString 是一种非常实用的数据类型. 它们非常大程度上简化了MFC中的很多操作,使得MFC在做字符串操作的时候方便了非常多.无 ...

  8. MFC中ComboBox控件用法

    MFC ComboBox 一.入门篇 ComboBox (组合框)控件很简单,可以节省空间.从用户角度来看,这个控件是由一个文本输入控件和一个下拉菜单组成的.用户可以从一个预先定义的列表里选择一个选项 ...

  9. MFC中List box的用法

    首先在头文件中创建对象,CSGrid m_proViewList;//创建表头#pragma region 建立grid表的标题 m_proViewList.AppendColumn(_T(" ...

随机推荐

  1. windows域相关

    查看域角色: netdom query fsmo

  2. [Mybatis - 1A] - Cause: java.sql.SQLException: Column count doesn't match value count at row 1

    严重: Servlet.service() for servlet [springMVC] in context with path [/ExceptionManageSystem] threw ex ...

  3. case when then 中的条件里面加上 and or 的处理方式

    错误的方式: end 正确1: end 正确2,去掉括号: end

  4. SugarCRM如何检查控制器权限?

    SugarController定义了一个实例变量$hasAccess,布尔值,默认为true.该实例变量指示使用者是否有执行摸个action的权限: class SugarController{ /* ...

  5. iOS 仿支付宝密码支付

    代码地址如下:http://www.demodashi.com/demo/11484.html 一.准备工作 xcode 主要实现输入密码的时候不可见 二.程序实现 实现思路怎样 在支付宝输入密码的时 ...

  6. Eclipse项目上红叉

    整个项目可以编译通过并且运行都没问题,但是项目上有个红叉,这个问题一般是有两个原因: 1.查看项目是不是有的引用包报错 解决办法:在项目的build path 中删除不可用引用或者修正 2.项目的编译 ...

  7. 【ASP.NET MVC系列】详解View

    本篇文章内容属于ASP.NET MVC系列视图篇,主要讲解View,大致内容如下: 1.Views文件夹讲解 2.View种类 3.Razor语法 4.对视图的基本操作 一   Views文件夹 (一 ...

  8. AMQP && MQTT comparision

    1. AMQP (Advanced Message Queuing Protocol) 2. MQTT (Message Queuing Telemetry Transport) Introducti ...

  9. 【POJ 3140】 Contestants Division(树型dp)

    id=3140">[POJ 3140] Contestants Division(树型dp) Time Limit: 2000MS   Memory Limit: 65536K Tot ...

  10. 参数数组(params)的用法

    使用参数数组的注意事项: 1. 只能在一维数组上使用params关键字. 2. 不能重载一个只基于params关键字的方法.params关键字不构成方法的签名的一部分. 如: //编译时错误:重复访问 ...