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;
    }
  • 相关阅读:
    两个Stirng[]拼接成一个数组
    Visual code 常用快捷键
    mysql 中的分页limit
    移动端web轮播图插件swiper,功能很强大
    array_splice()函数 ,删除数组中的某个值
    Github简单的上传和修改
    PHP数组在循环的时候修改本身的值
    IP定位,天气接口
    使用百度翻译的API接口
    laravel 队列
  • 原文地址:https://www.cnblogs.com/sdnyzhl/p/4217734.html
Copyright © 2011-2022 走看看