写了一个过滤器,根据需要限制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小时内与您取得联系。