最近一个需求最大金额输入999999.99,在网上看了一下都写的比较繁琐,不是很易懂

首先限制输入类型在xml里面配置

android:inputType="numberDecimal"
再限制长度算上小数点一共9位
android:maxLength="9"
重点来了怎么限制2位小数
直接上代码
private String discountStr;private TextWatcher discountWatch = new TextWatcher() {    @Override    public void beforeTextChanged(CharSequence s, int start, int count, int after) {        discountStr = s.toString();    }    @Override    public void onTextChanged(CharSequence s, int start, int before, int count) {        String trim = s.toString().trim();        if (!TextUtils.isEmpty(trim)) {            Double currentInput = 0.0;            if (trim.contains(".")) {                String[] split = trim.split("\\.");                if (split.length > 1) {                    String s1 = split[1];                    if (!TextUtils.isEmpty(s1)) {                        if (s1.length() == 2) {                            etDiscount.setText(discountStr);                            try {                                String trim1 = etDiscount.getText().toString().trim();                                etDiscount.setSelection(trim1.length());                            } catch (Exception e) {                                e.printStackTrace();                            }                            return;                        }                    }                }            }                   }     }    @Override    public void afterTextChanged(Editable s) {    }};
原理很简单,在beforeTextChanged里面把上一次输入的值用discountStr存起来
,在onTextChanged里面判断是否包含小数点,如果包含小数点则对其进行切割,如
果切割的第二位长度大于2(N)则让它再次赋值为discountStr。,需要注意的是分割
小数点要用到转义符。

   

更多相关文章

  1. Android(安卓)EditText设置只能输入数字和小数点
  2. maxEms和maxLength的区别以及maxEms不起作用的问题
  3. 断点下载
  4. Android金额输入框只允许输入小数点后两位
  5. android多线程断点下载——网络编
  6. android长度单位
  7. android EditText限制输入长度
  8. Android(安卓)EditText限制输入两位小数
  9. Android(安卓)金钱计算BigDecimal 的使用

随机推荐

  1. CentOS7 通过YUM安装MySQL5.7的步骤详解
  2. linux centos7安装mysql8的教程
  3. mysql数据库创建账号、授权、数据导出、
  4. 自学MySql内置函数知识点总结
  5. 如何使用myisamchk和mysqlcheck工具快速
  6. 详解MySQL 8.0.18命令
  7. Linux下彻底删除Mysql 8.0服务的方法
  8. 浅析centos 7 mysql-8.0.19-1.el7.x86_64
  9. mysql8.0.19忘记密码的完美解决方法
  10. CentOS7.5 安装 Mysql8.0.19的教程图文详