zoukankan      html  css  js  c++  java
  • Android EditText实现小数点后几位的终级方案

    有时候,我们用EditText的时候,会要求输入小数点后几位,遇到过几次这样的需求,这次把它给记下来,方便以后使用

    /**
     * 小数位数
     */
    public class PointLengthFilter implements InputFilter{
        public PointLengthFilter(int pointLength){
            mPointLength = pointLength;
        }
    
        public void setPointLength(int pointLength){
            mPointLength = pointLength;
        }
    
    
        /** 输入框小数的位数  默认保留3位小数*/
        private int mPointLength = 3;
    
        public CharSequence filter(CharSequence source, int start, int end,
                                   Spanned dest, int dstart, int dend) {
            // 删除等特殊字符,直接返回
            if ("".equals(source.toString())) {
                return null;
            }
    
            String dValue = dest.toString();
            if(TextUtils.isEmpty(dValue)){
                return source;
            }
    
    
            String[] splitArray = dValue.split("\.");
            if(splitArray != null && splitArray.length > 1){
                int cursorIndex = dValue.indexOf(".");
    
                if(dend > cursorIndex){
                    String dotValue = splitArray[1];
                    int diff = dotValue.length() + 1 - mPointLength;
                    if(diff > 0){
                        return "";
                    }
                }
            }
    
            return source;
        }
    }
    
    
  • 相关阅读:
    Python注释及变量
    MySQL期末测试
    SQL查询第三次训练(重点关照对象)
    MySQL内置函数
    聚类-kmeans
    《达.芬奇密码》丹-布朗
    皮克定理与证明
    常见设计模式的种类与一些原则
    时间序列(二)分解、各部分计算方法
    ADF检验
  • 原文地址:https://www.cnblogs.com/start1225/p/9960148.html
Copyright © 2011-2022 走看看