zoukankan      html  css  js  c++  java
  • 输入字符串只能是数字或者分数

    BOOL IcUiNumericEdit::IsMatchChar(UINT nChar)
    {
        //首先如果不是 0-9, '.','/',Backspace,直接返回 0的ASCII 48, 9的ASCII 57, /的ASCII 47,点.的ASCII 46. backspace 8
    
        if(nChar == '.' || (nChar >= '0' && nChar <= '9') || nChar == '/'  || nChar == 8)
        {
            CString strRet;
            GetWindowText(strRet);
            int nLen = strRet.GetLength();
            if(nChar == '/')    //如果nChar为‘/'。 返回错误情况: 1. 作为字符串首,2. 前面为'.' 3. 前已存在‘/'时
            {
                if(strRet.Trim().IsEmpty())
                    return FALSE;
                
                if(strRet.GetAt(nLen - 1) == '.')    //最后一个为'.'
                    return FALSE;
                if(strRet.Find('/') != -1)    // -1 表示没有找到
                    return FALSE;
            }
            else if(nChar == '.') //如果nChar为 '.' 返回错误情况 1.作为字符串首 2. 前为‘.',‘/’时。 3. 存在斜线了,判断其后是否已存在'.',如果不存在判断’/‘前是否存在
            {
                if(strRet.Trim().IsEmpty())
                    return FALSE;
                int nLen = strRet.GetLength();
                if(strRet.GetAt(nLen - 1) == '.' || strRet.GetAt(nLen - 1) == '/')
                    return FALSE;
                if(strRet.Find('/') == -1) // 当前没有'/'
                {
                    if(strRet.Find('.') != -1)
                        return false;
                }
                else
                {
                    //获取当前'/'后的字符串,如果后面字符串中存在.,则返回false
                    int nStart = strRet.Find('/');
                    CString strSub = strRet.Right(nLen - nStart - 1);
                    if(strSub.Find('.') != -1)
                        return FALSE;
                }
    
            }
            return TRUE;
        }
        return FALSE;
    }
  • 相关阅读:
    linux创建用户和组
    ftp上来显示的时间和系统时间不一致
    在Linux下如何用Shell脚本读写XML?现有一个config.xml(转)
    关于业务主键和逻辑主键
    git push 提示
    浏览器默认样式
    css实现缩进无限嵌套
    使用设置报头x-Frame-Options限制iframe网页嵌套
    chrome控制台小技巧
    git版本库底层命令
  • 原文地址:https://www.cnblogs.com/sdnyzhl/p/4217734.html
Copyright © 2011-2022 走看看