vc2005 我看了一下CSDN好像没有ttof或者wtof之类的转化函数,
unicode工程中怎么将CString类型转化为float类型?
难道要自己写?

解决方案 »

  1.   

    因为宽字符串转换成float或double是问题多多,比较麻烦。《windows程序设计》有讲到。sprintf也是同样的问题。
    你可以加编译条件,如果是UNICODE,就把宽字串转成ASCII字串,再atof
      

  2.   

    那自己写这个转化函数可以吗long double atold(char *str)
    {
     __int64 r = 0;
     size_t l = strlen(str);
     int flag = 0, count = 1; for (size_t i = 0; i < l; i++) {
      if (str[i] == '.') {
       flag = 1;
       continue;
      }
      if (flag == 1)
       count *= 10;
      r = r * 10 + (str[i] - '0');
     }
     return (long double)r / count;

    这个函数可以吗,把其中的char*换成TCHAR*
      

  3.   

    用_wtof()应该可以吧