一、常用转换

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. Webpack实现路由懒加载的三种方式

    原文指路:https://blog.csdn.net/qq_37540004/article/details/78727063 第一种: 引入方式(正常引入): const router = new ...

  2. BGP华为、思科选路规则

    选路规则 华为BGP选路规则 思科BGP选路规则 第0条 下一跳是否可达,如果不可达则不参与选路 BGP 向IBGP对等体发布import引入的IGP路由时, 将下一跳属性改为自身的接口地址,而非IG ...

  3. 路由器固定IP配置

    前言 路由器插入好电源,插入好网线,笔记本连接路由器的wifi,连接成功后,网页自动打开. 1.在网页自动输入管理员密码 2.上网方式选择固定IP地址,输入IP地址,子网掩码,默认网关,DNS服务 3 ...

  4. vue 关于npm run build 的小问题

    vue项目使用npm run build命令进行打包操作,打包之后试运行报错,报错为: 且命令行警告信息为: 解决办法: 找到项目目录下的config文件夹里的index.js文件,将build对象下 ...

  5. iBeacon室内定位原理解析【转】

    目前,技术发展持续火热,因着iBeacon的定位精度和造价都比较符合国内室内定位的市场需求,下面我们来聊一聊iBeacon室内定位原理. iBeacon定位原理 iBeacon是一项低耗能蓝牙技术,工 ...

  6. 利用JsonSchema校验json数据内容的合规性(转)

    原文地址:Json schema 背景: 复杂的AJAX应用程序可以与数百个不同的JSON服务进行交互,因此,引入对客户端验证的需求. 在处理校验问题方面有着很多的工具,但是通常可以将它们归为以下几类 ...

  7. Intersecting Lines

    Intersecting Lines We all know that a pair of distinct points on a plane defines a line and that a p ...

  8. Java Date日期,一年中的第多少天,星期的简称,当月多少天,当年多少月

    import java.util.*; public class DateDemo { public static void main(String args[]) { Date date=new D ...

  9. learning at command AT+CEREG

    AT command AT+CEREG [Purpose]        Learning how to query the network registration status   [Eeviro ...

  10. Vue + Element UI 实现权限管理系统 (管理应用状态)

    使用 Vuex 管理应用状态 1. 引入背景 像先前我们是有导航菜单栏收缩和展开功能的,但是因为组件封装的原因,隐藏按钮在头部组件,而导航菜单在导航菜单组件,这样就涉及到了组件收缩状态的共享问题.收缩 ...