字符串换成float
如:8b3d873d 是float的表示,但是怎么转换为float

解决方案 »

  1.   

    DWORD dw=0x8b3d873d ;
    float f=*(float*)&dw;
      

  2.   

    如果要自己实现,那处理起来比较麻烦了
    如果这个字符串是float类型
    那就先找到"."然后在处理它之前和之后的部分吧
      

  3.   

    嘿嘿,一百分的题,撞到一个.
    试试:
        CString str="8b3d873d";
        float fl=str.atof();
    不过你的字串里有B,D,我以前试过,好像不可以,ATOF只能将数字字符转化成数字.
    你试一下,我也想看看行不行.
      

  4.   

    简单的atof
    如果自己处理就查找'.',然后分别对整数和小数相加
      

  5.   

    atof不行的。它只是把字符串形式的浮点数转换为数值型的浮点数。横秋正解。但是首先要把字符串转换为整型数值。
      

  6.   

    不错,vcmute(横秋) 的可以
      

  7.   

    完整的是这样的:
    char temp[]="8b3d873d";
    char *pEnd;
    unsigned long ul = strtoul(temp, &pEnd, 16);
    float f = *(float*)&ul;
    不过这里看来字节顺序没有考虑,如果temp中高低为交换为:
    "3d8b3d87"
    则f=0.067988448
    应该再有调节高低位顺序的代码。
      

  8.   

    double atof( const char *string );