有没有好的方法?

解决方案 »

  1.   

    atoi()然后在itoa()在和原来的比较,如果一样就可以转换成整型
      

  2.   

    我是这样处理的:
    bool IsInteger(CString str)
    {
    try
    {
    int k = atoi(str);
    if(str!="0"&&k==0)
    return false;
    }
    catch(...)
    {
    return false;
    }
    return true;
    }
    像你这样说的话应该也可以,跟我这样子差不多意思吧,但是我是想看还有没有什么更好的办法?
      

  3.   

    strtod,strtol等等.
    转换后会得到个字符串.这个字符串比较下就行了.相等就没转换,不等就是转换了.   char   *string, *stopstring;
       double x;
       long   l;
       int    base;
       unsigned long ul;
       string = "3.1415926This stopped it";
       x = strtod( string, &stopstring );
       printf( "string = %s\n", string );
       printf("   strtod = %f\n", x );
       printf("   Stopped scan at: %s\n\n", stopstring );
      

  4.   

    if((atoi(m_szBuf)==0)||(strcmp(m_szBuf, "0")>=0)
    {
        //字符串
    }
    else
    {
    //整数}
      

  5.   

    if((atoi(m_szBuf)==0)&&(strcmp(m_szBuf, "0")<0)
    {
        //字符串
    }
    else
    {
    //整数}