Android 限制edittext 整数和小数位数 过滤器(详解)

Android 限制edittext 整数和小数位数 过滤器(详解),第1张

概述写了一个过滤器,根据需要限制edittext输入的整数小数位,如下代码:packageallone.verbank.apad.client.component;

写了一个过滤器,根据需要限制edittext输入的整数和小数位,如下代码:

@H_301_2@
package allone.verbank.apad.clIEnt.component;import androID.text.inputFilter;import androID.text.Spanned;/** *  * @Title: ComponentDigitCtrlFilter.java  * @Package allone.verbank.apad.clIEnt.component  * @Description: 为了限制edit根据商品输入指定的位数和小数位 * @author qiulinhe qiu.linhe@allone.cn  */public class ComponentDigitCtrlFilter implements inputFilter { private boolean isJPY; private int digit; public ComponentDigitCtrlFilter(boolean isJPY,int digit) { this.isJPY = isJPY; this.digit = digit; } @OverrIDe public CharSequence filter(CharSequence source,int start,int end,Spanned dest,int dstart,int dend) { // 删除等特殊字符,直接返回 if ("".equals(source.toString())) { return null; } String oriValue = dest.toString(); StringBuffer sb = new StringBuffer(oriValue); sb.append(source); String newValue = sb.toString(); String[] newValueVec = newValue.split("\."); if (newValueVec.length == 2) { double number = Double.parseDouble(newValueVec[0]); boolean numberflag = true; if (isJPY) { numberflag = ((number - 999 > 0.000001) ? false : true); } else { numberflag = ((number - 99 > 0.000001) ? false : true); } boolean digitflag = true; try { String digitNumber = newValueVec[1]; digitflag = digitNumber.tochararray().length > digit ? false : true; } catch (Exception ex) { digitflag = false; } if (numberflag && digitflag) { return source; } else { return ""; } } else { double value = Double.parseDouble(newValue); if (isJPY) { return value > 999 ? "" : source; } else { return value > 99 ? "" : source; } } // dest.subSequence(dstart,dend) }}

逻辑是判断传入的isJPY是否是要整数两位小数三位数的,然后对输入的数据进行限制,只需要将过滤器添加到对应的edittext控件即可,如下:stopEditText.setFilters(new inputFilter[] { new ComponentDigitCtrlFilter(digit == 2,digit) });

以上这篇AndroID 限制edittext 整数和小数位数 过滤器(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。

总结

以上是内存溢出为你收集整理的Android 限制edittext 整数和小数位数 过滤器(详解)全部内容,希望文章能够帮你解决Android 限制edittext 整数和小数位数 过滤器(详解)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1146382.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存