需要将一个char*类型的变量转换为数字.
如何判断其是否能够转换为数字呢?注:不涉及十六进制的问题,即:如果char* cTxt="13a",则表明不能转换为数字,
必须每一位都是0-9的数字,或者小数点。

解决方案 »

  1.   

    char cText[20];for(int i = 0 ;i < 20 ; i++)
     if((cText[i]>='0' && cText[i]<='9') ||  (cText[i]=='.'))
       {
          都是可以转换的字符!
       }
      

  2.   

    放到字符数组中,比如CHAR[50],再循环看CHAR[i]是否是0-9的数字,或者小数点
      

  3.   

    CString str;
    char* cTemp = "123a";
    str = cTemp;

    for(int i=0; i<str.GetLength(); i++)
    {
    if( (str[i]>='0' && str[i]<='9') ||
    str[i] == '.')
    {
    }
    else
    AfxMessageBox("error");
    }
      

  4.   

    为什么这么麻烦,   ::isdigit();不是可以工作得很好吗?
      

  5.   

    用atoi啊,如果能转成功的话,就是数字,转不成功函数就返回0,可以根据这个来判断