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

原创 2007年10月03日 02:19:00
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开发环境下是可以的。
 

CString与double互相转化

1.double转化为CString http://www.sowsoy.com/topics-410.html C++中doulbe/float/int转为CString方法 在MF...
  • sikong00
  • sikong00
  • 2016年12月18日 13:01
  • 4110

MFC CString转int、double、TCHAR*类型

不能将参数 从“const char [5]”转换为“LPCTSTR” (unicode字符集)错误解决办法如下://CString转int CString szPort = L"2589"; i...
  • mrandexe
  • mrandexe
  • 2011年03月15日 22:41
  • 16385

CString与double互相转化

1.double转化为CString http://www.sowsoy.com/topics-410.html C++中doulbe/float/int转为CString方法...
  • b5w2p0
  • b5w2p0
  • 2013年12月16日 16:48
  • 8108

将CString类型转换为double类型的方法

CString strData; GetDlgItem(IDC_TEMPALATE_EDIT)->GetWindowTextA(strData); m_template_num = _ttof((...
  • u012372584
  • u012372584
  • 2017年01月06日 14:56
  • 513

MFC中CString转int/double/TCHAR*类型

MFC中CString转int/double/TCHAR*类型  CString类型转换 CString 型转化成 int 型 把 CString 类型的数据转化成整数类...
  • xiashengfu
  • xiashengfu
  • 2012年08月31日 15:25
  • 5530

CString与int、float之间的转换

CString to int: 如下:CString str = "123"; int i; i = atoi(str);CString to float: 如下:CString str="1.2...
  • lh1573378488
  • lh1573378488
  • 2016年10月09日 15:09
  • 1653

vc在unicode和非unicode情况下cstring转换为float

CString str = CString("Almost mad!"); float tempFloat = 0.0; tempFloat = ato...
  • chailyuan
  • chailyuan
  • 2016年11月28日 21:05
  • 840

C++之CString与double、int及float互相转化

在MFC程序中,可以使用Format方法方便的实现int、float和double等数字类型转换为CString字符串。以下是CString的Format支持的格式说明: %c 单个字符 %d 十...
  • u011028345
  • u011028345
  • 2017年08月19日 23:49
  • 721

C++中doulbe/float/int转为CString方法

在MFC程序中,可以使用Format方法方便的实现int、float和double等数字类型转换为CString字符串。以下是CString的Format支持的格式说明:        %c  ...
  • a597926661
  • a597926661
  • 2012年08月28日 16:09
  • 5511

vc下cstring转换为floatvc类型转换

CString str = CString("Almost mad!"); float tempFloat = 0.0; tempFloat = ...
  • Elecsoft
  • Elecsoft
  • 2010年07月13日 23:22
  • 2311
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:将CString转换为double(或float)的3种方法
举报原因:
原因补充:

(最多只允许输入30个字)