我正在编写一个类似windows计算器的小程序。我把CString对象与
Edit控件绑定。然后在转换成数值时,就不知道怎办了。或这有其他
更好的解决办法?
Thanks!

解决方案 »

  1.   

    atof!CString str="123";
    double x=atof(str);
      

  2.   

    template <typename T>
    T FromCStr(const CString& s)
    {
    const std::string str((LPCSTR)s);
    std::istringstream is(str);
    T t;
    is >> t;
    return t;
    };
    不要使用UNICODE字符!!!
    double dddd = FromCStr<double>("3453.454")
      

  3.   

    或者使用
    double strtod( const char *nptr, char **endptr );double wcstod( const wchar_t *nptr, wchar_t **endptr );
    这2个函数的版本
    _tcstod
      

  4.   

    非常感谢 ruixp zhdleo 看到你们的回复我才知道,昨天我犯了一个多么愚蠢的问题,其实我已经得到了答案。可是我写成了:
    TRACE("%d\n",x);该打!!!!再次感谢!!
      

  5.   

    可以直接将Edit和double类型绑定。
      

  6.   

    Thanks everybody again!!!