EditText保留两位小数并输入不超过最大值
来源:互联网 发布:java swing教程 pdf 编辑:程序博客网 时间:2024/06/05 09:56
首先,xml中EditText设置属性:
android:inputType="numberDecimal"
然后设置公有变量:
private BigDecimal totalAmount; private String totalAmountStr; private boolean flag = true;
其中flag是为了预防在TextChangeListener中更改EditText内容时产生死循环用的,不懂得就直接复制代码吧
最后Java文件中给EditText设置TextChangeListener:
edt.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void afterTextChanged(Editable s) { if (!TextUtils.isEmpty(s.toString()) && flag) { BigDecimal result; String temp = s.toString(); int posDot = temp.indexOf("."); try { if (posDot == s.length() - 1) { return; } result = new BigDecimal(s.toString()); } catch (Exception e) { return; } //不允许超出最大值 if (result.compareTo(totalAmount) == 1) { temp = totalAmountStr; ToastUtils.show("当前最多转出" + totalAmountStr + "元"); } //保留两位小数 flag = false; s.clear(); if (posDot > 0 && temp.length() - posDot - 1 > 2) { temp = temp.substring(0, posDot + 3); } s.append(temp); flag = true; } } });
0 0
- EditText保留两位小数并输入不超过最大值
- android editText 控制输入最大值、保留两位小数、保留小数点前面两位数
- EditText 保留两位小数
- EditText 保留两位小数
- EditText 保留两位小数
- EditText限制 只能输入0.00 -100保留两位小数
- EditText中输入金额保留两位小数
- JS限制文本框输入金额并保留两位小数
- JS限制文本框输入金额并保留两位小数
- JS限制文本框输入金额并保留两位小数
- EditText中输入两位小数,并控制光标位置
- Android EditText保留两位小数
- 数字输入处理 , 保留两位小数
- EditText保证输入数字或者是保留两位小数的数字
- JavaScript四舍五入并保留两位小数
- 小数保留两位,并四舍五入
- EditText里面输入两位小数
- EditText限制输入两位小数
- Nginx+Tomcat+Memcached负载均衡配置流程
- 刚进入此行业,请多多指教
- 比较操作符
- RSA加密,解密 与数字签名
- 使用消息队列场景及消息队列的选择策略
- EditText保留两位小数并输入不超过最大值
- 拼接UIImage,一个UIImageView同时展示三张UIImage
- 专治选择困难症——bandit算法
- 上下滑动toolBar不会正常显示隐藏
- OpenCV——Mat矩阵运算
- js中的async和await问题
- HDU2444 The Accomodation of Students(判断二分图+最大匹配)
- 差分信号的优劣势
- Netty入门--NIO