全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

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

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 整数和小数位数 过滤器(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# edittext限制小数位数  # EditText限制小数点前后位数的实例  # Android金额输入框只允许输入小数点后两位效果  # EditText限制输入数字  # 精确到小数点后1位的设置方法  # Android 限制显示小数点后两位的实现方法  # 给大家  # 只需  # 两位  # 希望能  # 写了  # 要将  # 这篇  # 小编  # 大家多多  # 特殊字符  # linhe  # qiu  # public  # cn  # qiulinhe  # Description  # Package  # author  # edit  # implements 


相关文章: 建站主机选购指南:核心配置优化与品牌推荐方案  PHP正则匹配日期和时间(时间戳转换)的实例代码  如何确认建站备案号应放置的具体位置?  如何快速搭建高效WAP手机网站吸引移动用户?  如何快速登录WAP自助建站平台?  建站之星价格显示格式升级,你的预算足够吗?  建站之星代理费用多少?最新价格详情介绍  如何彻底卸载建站之星软件?  建站主机空间推荐 高性价比配置与快速部署方案解析  建站之星免费模板:自助建站系统与智能响应式一键生成  商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?  建站之星免费版是否永久可用?  建站之星导航如何优化提升用户体验?  已有域名和空间如何快速搭建网站?  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  如何使用Golang table-driven基准测试_多组数据测量函数效率  英语简历制作免费网站推荐,如何将简历翻译成英文?  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  寿县云建站:智能SEO优化与多行业模板快速上线指南  建站之家VIP精选网站模板与SEO优化教程整合指南  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  红河网站制作公司,红河事业单位身份证如何上传?  内部网站制作流程,如何建立公司内部网站?  建站之星CMS建站配置指南:模板选择与SEO优化技巧  如何打造高效商业网站?建站目的决定转化率  建站之星手机一键生成:多端自适应+小程序开发快速建站指南  郑州企业网站制作公司,郑州招聘网站有哪些?  单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?  如何用PHP快速搭建高效网站?分步指南  如何在自有机房高效搭建专业网站?  jQuery 常见小例汇总  如何在阿里云部署织梦网站?  香港服务器租用费用高吗?如何避免常见误区?  北京网站制作公司哪家好一点,北京租房网站有哪些?  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  宁波免费建站如何选择可靠模板与平台?  表情包在线制作网站免费,表情包怎么弄?  建站VPS能否同时实现高效与安全翻墙?  成都响应式网站开发,dw怎么把手机适应页面变成网页?  建站主机系统SEO优化与智能配置核心关键词操作指南  如何自定义建站之星网站的导航菜单样式?  手机网站制作与建设方案,手机网站如何建设?  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?  设计网站制作公司有哪些,制作网页教程?  中山网站制作网页,中山新生登记系统登记流程?  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  头像制作网站在线制作软件,dw网页背景图像怎么设置?  教学论文网站制作软件有哪些,写论文用什么软件 ?  北京建设网站制作公司,北京古代建筑博物馆预约官网?  网站制作难吗安全吗,做一个网站需要多久时间? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。