一、常用转换

1. CString --> int转换

CString str("1234");

   int i= _ttoi(str);

2. CString --> float转换

   方法一:

CString   str;   

    float   fi;   

    fi=_tstof(str);  //转成了double

方法二:

float i = (float)atof(str.GetBuffer(str.GetLength()));

方法三: 

     float f = atof((LPCSTR)str);

3. int --> CString 转换

   wScale = 300 * _tstof(dlg.GetRate());

   str.Format(_T("%d"), wScale);

4. float --> CString 转换

float m_Result = 99.9;

CString m_ShowData.Format("%f", m_Result);

二、将CString转换为double(或float)的3种方法

CString strFloat;

float flt;



//method1:

flt = (float)atof((char *)(LPTSTR)(LPCTSTR)mstrFloat);



//method2:

flt = (float)atof((char *)m_eps.GetBuffer(strFloat.GetLength()));

strFloat.ReleaseBuffer();



//method3:

//Convert CString to double

static BOOL _AtlSimpleFloatParse(LPCTSTR lpszText, double& d)   

{   

    ATLASSERT(lpszText != NULL);   

    while (*lpszText == ' '|| *lpszText == '/t')  

    {

        lpszText++;   

    }



    TCHAR chFirst = lpszText[0];   

    d = _tcstod(lpszText,(LPTSTR*)&lpszText);   

    if (d == 0.0 && chFirst != '0')  

    {

        return FALSE;    //could not convert   

    }

    while (*lpszText == ' '|| *lpszText == '/t') 

    {

        lpszText++;   

    }



    if (*lpszText != '/0')  

    {

        return FALSE;    //not terminated properly   

    }



    return TRUE;   

}



不过前面两种方法在VS2005下运行结果不正确,在VC6.0开发环境下是可以的。

VC下CString类型与int 、float等数据类型的相互转换的更多相关文章

  1. C++中将string类型转换为int, float, double类型 主要通过以下几种方式:

      C++中将string类型转换为int, float, double类型 主要通过以下几种方式: # 方法一: 使用stringstream stringstream在int或float类型转换为 ...

  2. VS2015 C++ 获取 Edit Control 控件的文本内容,以及把获取到的CString类型的内容转换为 int 型

    UpdateData(true); //读取编辑框内容,只要建立好控件变量后调用这个函数使能,系统就会自动把内容存在变量里 //这里我给 Edit Control 控件创建了一个CString类型.V ...

  3. [C++] string与int, float, double相互转换

    参考:http://blog.csdn.net/candadition/article/details/7342380 将string类型转换为int, float, double类型 主要通过以下几 ...

  4. 【转】CString类型互转 int

    CString类型互转 int 原文网址:http://www.cnitblog.com/Hali/archive/2009/06/25/59632.html CString类型的转换成int  将字 ...

  5. QT中QString 与 int float double 等类型的相互转换

    Qt中 int ,float ,double转换为QString 有两种方法 1.使用 QString::number(); 如: long a = 63; QString s = QString:: ...

  6. CString转换成int CString类相应函数

    CString 型转化成 int 型 把 CString 类型的数据转化成整数类型最简单的方法就是使用标准的字符串到整数转换例程. 虽然通常你怀疑使用_atoi()函数是一个好的选择,它也很少会是一个 ...

  7. 在VC下采用ADO实现BLOB(Binary)数据的存储,读取,修改,删除。

    在VC下采用ADO实现BLOB(Binary)数据的存储,读取,修改,删除. 作者:邵盛松 2009-09-05 前言 1关于的BLOB(Binary)数据的存储和读取功能主要参考了MSDN上的一篇& ...

  8. VC下加载JPG/GIF/PNG图片的两种方法

    转载自:http://blog.sina.com.cn/s/blog_6582aa410100huil.html 仅管VC有提供相应的API和类来操作bmp位图.图标和(增强)元文件,但却不支持jpg ...

  9. VC++下使用ADO操作数据库

    VC++下使用ADO操作数据库主要要用到 _ConnectionPtr,_CommandPtr,_RecordsetPtr三个ADO对象指针,我查找了相关资料,发现网上源码很多,但是都相对凌乱,于是自 ...

随机推荐

  1. Android测试(二)——drozer使用

    drozer启动: 1)首先在模拟 器或者安卓设备上开启drozer; 2)然后打开adb,转发端口: adb forward tcp:31415 tcp:31415 3)在电脑上开启drozer: ...

  2. GIL(全局解释器锁)与互斥锁

    针对Cpython所拥有的GIL锁作用:由于Cpython解释器在运行python文件时, Cpython进程与其运行文件所产生的主进程是一个进程(文件进程相当于Cpython的一个线程) 线程的特点 ...

  3. http.cof

    ## This is the main Apache HTTP server configuration file. It contains the# configuration directives ...

  4. 函数使用十二:BAPI_MATERIAL_BOM_GROUP_CREATE(CS61)

    REPORT ZSM_CREATE_SIMPLEBOM.* This code will create a material BoM for the material* MAINMATERIAL wi ...

  5. 实现qq登录

    //html页面   引入qq图标 <td> <a href="#" onclick="toLogin()"><img src=& ...

  6. 【Java】XML

    一.XML XML(Extensible Markup Language),可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言. 格式: <?xml version="1. ...

  7. HTML标签(二)

    一.字体标签 字体标签包含:h1~h6.<font>.<u>.<b>.<strong><em>.<sup>.<sub> ...

  8. 启动Oracle时提示:ORA-01078:failure in processing system parameters

    一.使用环境操作系统:CentOS release 6.2 (Final) 数据库:Oracle 12g数据库主目录:/ora12/product/product/12.1.0/db_1 二.问题描述 ...

  9. Android Studio向项目添加C/C++原生代码教程

    说明:本文相当于官方文档的个人重新实现,官方文档链接:https://developer.android.com/studio/projects/add-native-code 向项目添加C/C++代 ...

  10. ie edge 自动给数字加下划线

    <meta name="format-detection" content="telephone=no,email=no,address=no">