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