• Android EditText输入框中限制输入小数点两位


    用到EditText的方法setFilters过滤输入的内容用法是et.setFilters(new InputFilter[]{lengthFilter});

    private InputFilter lengthFilter = new InputFilter() {
            @Override
            public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
                // source:当前输入的字符
                // start:输入字符的开始位置
                // end:输入字符的结束位置
                // dest:当前已显示的内容
                // dstart:当前光标开始位置
                // dent:当前光标结束位置
                //Log.e("", "source=" + source + ",start=" + start + ",end=" + end + ",dest=" + dest.toString() + ",dstart=" + dstart + ",dend=" + dend);
                if (dest.length() == 0 && source.equals(".")) {
                    return "0.";
                }
                String dValue = dest.toString();
                String[] splitArray = dValue.split("\.");
                if (splitArray.length > 1) {
                    String dotValue = splitArray[1];
    //                if (dotValue.length() == 2) {//输入框小数的位数是2的情况,整个输入框都不允许输入
    //                    return "";
    //                }
                    if (dotValue.length() == 2 && dest.length() - dstart < 3){ //输入框小数的位数是2的情况时小数位不可以输入,整数位可以正常输入
                        return "";
                    }
                }
                return null;
            }
        };

  • 相关阅读:
    php switch case的"bug"
    win7 安装redis服务
    linux 查看网卡以及开启网卡
    getSelection、range 对象属性,方法理解,解释
    关于window.getSelection
    富文本原理
    elasticsearch启动常见错误
    Linux 修改用户密码
    centos修改主机名的正确方法
    Dockerfile介绍
  • 原文地址:https://www.cnblogs.com/guilin-hu/p/8797300.html
Copyright © 2020-2023  润新知