zoukankan      html  css  js  c++  java
  • CString TO Double (zz)




    //z 2013-10-21 15:01:30 IS2120@BG57IV3 T3345574402.K.F3396121938[T3,L303,R3,V37]
    1. atl CString 转换成 double 浮点数
    CString can convert to an LPCTSTR, which is basically a const char* (const wchar_t* in Unicode builds).

    Knowing this, you can use atof():

    CString thestring("13.37");
    double d = atof(thestring).

    ...or for Unicode builds, _wtof():

    CString thestring(L"13.37");
    double d = _wtof(thestring).

    ...or to support both Unicode and non-Unicode builds...

    CString thestring(_T("13.37"));
    double d = _tstof(thestring).

    (_tstof() is a macro that expands to either atof() or _wtof() based on whether or not_UNICODE is defined)

    //z 2013-10-21 15:01:30 IS2120@BG57IV3 T3345574402.K.F3396121938[T3,L303,R3,V37]
    2. 使用 std::stringstream

    You can convert anything to anything using a std::stringstream. The only requirement is that the operators >> and << be implemented. Stringstreams can be found in the <sstream> header file.

    std::stringstream converter;
    converter << myString;
    converter >> myDouble;

    //z 2013-10-21 15:01:30 IS2120@BG57IV3 T3345574402.K.F3396121938[T3,L303,R3,V37]
    3. lexical_cast
    #include <boost/lexical_cast.hpp>
    using namespace boost;
    
    ...
    
    double d = lexical_cast<double>(thestring);

    4. strtod

    strtod (or wcstod) will convert strings to a double-precision value.

    (Requires <stdlib.h> or <wchar.h>)

    Example

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    /* strtod example */
    #include <stdio.h>      /* printf, NULL */
    #include <stdlib.h>     /* strtod */
    
    int main ()
    {
      char szOrbits[] = "365.24 29.53";
      char* pEnd;
      double d1, d2;
      d1 = strtod (szOrbits, &pEnd);
      d2 = strtod (pEnd, NULL);
      printf ("The moon completes %.2f orbits per Earth year.
    ", d1/d2);
      return 0;
    }
    Output:
    
    The moon completes 12.37 orbits per Earth year.

    
    //z 2014-02-20 16:26:18 IS2120@BG57IV3 T3529903025.K.F3153028746[T372,L4642,R198,V6937]
    2. 删除字符串结尾的 0


    IS2120@CSDN.BG57IV3 //z 2014-02-20 16:16:02 IS2120@BG57IV3 T707139593 .K.F3153028746[T371,L4620,R198,V6936] void removeTrailingZeros(char pio_cText[]) { char* pCh = strchr(pio_cText,'.'); if(pCh!=NULL) { int iLen = static_cast<int>(strlen(pio_cText)); char* pPos = pio_cText + iLen -1; while(*pPos == '0') { *(pPos--) = ''; } if(*pPos == '.') { *pPos= ''; } } }IS2120@CSDN.BG57IV3
    

    @IS2120#CNBLOGS.T2169364049[T1,L65,R1,V259]:备忘
    $ € ₤ ₭ ₪ ₩ ₮ ₦ ₱ ฿ ₡ ₫ ﷼ ¥ ﷼ ₫ ₡ ฿ ₱ ₦ ₮ ₩ ₪ ₭ ₤ € $
  • 相关阅读:
    CAS 认证
    最近邻规则分类(k-Nearest Neighbor )机器学习算法python实现
    scikit-learn决策树的python实现以及作图
    module object has no attribute dumps的解决方法
    最新Flume1.7 自定义 MongodbSink 结合TAILDIR Sources的使用
    数据探索中的贡献度分析
    python logging模块按天滚动简单程序
    Flume性能测试报告(翻译Flume官方wiki报告)
    python apsheduler cron 参数解析
    python pyspark入门篇
  • 原文地址:https://www.cnblogs.com/IS2120/p/6745710.html
Copyright © 2011-2022 走看看