将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方法...
  • b5w2p0
  • b5w2p0
  • 2013-12-16 16:48
  • 5265

MFC CString转int、double、TCHAR*类型

不能将参数 从“const char [5]”转换为“LPCTSTR” (unicode字符集)错误解决办法如下://CString转int CString szPort = L"2589"; i...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

Cstring与double char 的转换

Cstring与double char 的转换
  • paobo
  • paobo
  • 2007-05-15 15:39
  • 3666

VC 中 Cstring 与 int、float、double、char、string数据类型的相互转换

1. Cstring 与char*的相互转换 Cstring转char Cstring cstr="Germany"; char *p = (LPSTR)(LPCTSTR)c...

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

CString strData; GetDlgItem(IDC_TEMPALATE_EDIT)->GetWindowTextA(strData); m_template_num = _ttof((...

UNICODE与ANSI的区别【转】

ANSI中的字符采用8bit,而UNICODE中的字符采用16bit。(对于字符来说ANSI以单字节存放英文字符,以双字节存放中文等字符,而Unicode下,英文和中文的字符都以双字节存放)Unico...

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

CString strFloat; float flt; //method1: flt = (float)atof((char *)(LPTSTR)(LPCTSTR)mstrFloat); ...

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

CString str = CString("Almost mad!"); float tempFloat = 0.0; tempFloat = ato...

CString与int、float之间的转换

CString to int: 如下:CString str = "123"; int i; i = atoi(str);CString to float: 如下:CString str="1.2...

vc字符串转换处理:(绝对精华,收集所有的例子)

原文:http://blog.csdn.net/hnhyhongmingjiang/archive/2008/03/06/2154009.aspx 1.头文件中要定义宏;         #d...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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