全网整合营销服务商

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

免费咨询热线: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 


相关文章: 企业微网站怎么做,公司网站和公众号有什么区别?  如何通过VPS建站无需域名直接访问?  高端建站如何打造兼具美学与转化的品牌官网?  制作农业网站的软件,比较好的农业网站推荐一下?  太平洋网站制作公司,网络用语太平洋是什么意思?  如何用5美元大硬盘VPS安全高效搭建个人网站?  微信小程序 input输入框控件详解及实例(多种示例)  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  家庭服务器如何搭建个人网站?  高端网站建设与定制开发一站式解决方案 中企动力  哈尔滨网站建设策划,哈尔滨电工证查询网站?  如何零基础在云服务器搭建WordPress站点?  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  建设网站制作价格,怎样建立自己的公司网站?  建站主机是什么?如何选择适合的建站主机?  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  C++如何使用std::optional?(处理可选值)  如何快速搭建二级域名独立网站?  广德云建站网站建设方案与建站流程优化指南  香港服务器网站卡顿?如何解决网络延迟与负载问题?  如何在局域网内绑定自建网站域名?  网站图片在线制作软件,怎么在图片上做链接?  魔毅自助建站系统:模板定制与SEO优化一键生成指南  网站按钮制作软件,如何实现网页中按钮的自动点击?  如何基于云服务器快速搭建网站及云盘系统?  如何在IIS管理器中快速创建并配置网站?  如何基于PHP生成高效IDC网络公司建站源码?  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  网站设计制作公司地址,网站建设比较好的公司都有哪些?  零服务器AI建站解决方案:快速部署与云端平台低成本实践  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站主机选择指南:服务器配置与SEO优化实战技巧  小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建  如何彻底卸载建站之星软件?  C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换  制作网页的网站有哪些,电脑上怎么做网页?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  如何快速上传自定义模板至建站之星?  广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?  PHP正则匹配日期和时间(时间戳转换)的实例代码  大型企业网站制作流程,做网站需要注册公司吗?  实例解析Array和String方法  深入理解Android中的xmlns:tools属性  如何基于云服务器快速搭建个人网站?  建站之星如何实现五合一智能建站与营销推广?  北京企业网站设计制作公司,北京铁路集团官方网站?  大连网站设计制作招聘信息,大连投诉网站有哪些?  兔展官网 在线制作,怎样制作微信请帖?  如何快速搭建FTP站点实现文件共享?  建站之星如何快速更换网站模板? 

您的项目需求

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