比如,从对话框Edit控件输入任意字符(数字或者字符串),如何验证它是整型的int数据类型?

解决方案 »

  1.   

    我也是菜鸟。好象我写了个小程序,里面没有判断。只是由try{}catch{}报错。
      

  2.   


    如果EDIT关联的是CString 类型的,先将它转换成数型,然后使用这样的判断
    if ((int)InValue==InValue) {}
    在类的类型识别中可以使用IsKindOf 函数,如下:
    ASSERT( a.IsKindOf( RUNTIME_CLASS( CClassName ) ) );
    这种方法不能广泛使用因为它会破坏程序得多态性
      

  3.   

    比如CEdit 变量为m_Text1:
    char *szBuf;
    m_Edit.GetWindowText(szBuf,sizeof(szBuf));
    if(IsDigitalString(szBuf))
    {
    //是数字
    }bool IsDigitalString(char *str)
    {
    while(*str)
    {
    if(!isdigit(*str++))
    return false;
    }
    return true;
    }
      

  4.   

    写错了,m_Edit.GetWindowText(szBuf,sizeof(szBuf));应该是m_Text1.GetWindowText(szBuf,sizeof(szBuf));
    呵呵,楼住可以结贴咯
      

  5.   

    你用类向导给EDIT控件关联变量的时候直接关联为int类型不就可以了。