Android Edittext输入限制一位小数2位小数(n位)小数简单通用实现
最近一个需求最大金额输入999999.99,在网上看了一下都写的比较繁琐,不是很易懂
首先限制输入类型在xml里面配置
android:inputType="numberDecimal"
再限制长度算上小数点一共9位
android:maxLength="9"
重点来了怎么限制2位小数
直接上代码
,在onTextChanged里面判断是否包含小数点,如果包含小数点则对其进行切割,如
果切割的第二位长度大于2(N)则让它再次赋值为discountStr。,需要注意的是分割
小数点要用到转义符。
private String discountStr;private TextWatcher discountWatch = new TextWatcher() {@Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {discountStr = s.toString();}@Override public void onTextChanged(CharSequence s, int start, int before, int count) {String trim = s.toString().trim();if (!TextUtils.isEmpty(trim)) {Double currentInput = 0.0;if (trim.contains(".")) {String[] split = trim.split("\\.");if (split.length > 1) {String s1 = split[1];if (!TextUtils.isEmpty(s1)) {if (s1.length() == 2) {etDiscount.setText(discountStr);try {String trim1 = etDiscount.getText().toString().trim();etDiscount.setSelection(trim1.length());} catch (Exception e) {e.printStackTrace();}return;}}}}} }@Override public void afterTextChanged(Editable s) {} };
原理很简单,在beforeTextChanged里面把上一次输入的值用discountStr存起来
Android Edittext输入限制一位小数2位小数(n位)小数简单通用实现相关推荐
- android edittext 输入手机号码格式变化
android edittext 输入内容只能是xxx-xxxx-xxxx格式的手机号码 EditText phoneEt = (EditText) findViewById(R.id.phone_e ...
- Android EditText输入光标居于开头最开始位置
Android EditText输入光标居于开头最开始位置 Android的EditText输入光标默认是居于整个EditText的中心位置的,如图所示: 如果欲使EditText加载后的输入光标自动 ...
- android edittext 输入完成监听,EditText输入监听
EditText输入监听 原创 6710766562015-05-13 13:34:38著作权 文章分类 android开发 阅读数 548 ©著作权归作者所有:来自51CTO博客作者67107665 ...
- Android EditText输入限制及字符编码
EditText 经常会有限制输入字符长度的需求,限制输入长度的方法有三种: xml设置maxLength属性 android:maxLength="50" 通过InputFilt ...
- android edittext 输入长度,Android EditText限制输入字数的方法
本文实例讲述了Android EditText限制输入字数的方法.分享给大家供大家参考,具体如下: //新浪微博字数限制 private static final int WEIBO_CONTENT_ ...
- android edittext输入邮箱,[Android教程]EditText怎样限制用户的输入?数字/字母/邮箱
有输入必有验证.为了防止用户随便输入确保提交数据的合法性,程序不得不在文本输入框(EditText)中增加限制或验证. 关于输入类型有数字.字母.邮箱.电话等形式,这些具体得根据业务来.那么Andro ...
- Android EditText输入一串字符串自动每4个字符空一格,像输入银行卡卡号格式
最近写类似需要像银行卡输入那样每4个字符空一格,网上看了很多都没有很好的解决索性自己写一个.主要思路就是活用beforeTextChanged().onTextChanged().afterTextC ...
- android edittext限制字节_android EditText输入限制
zyz 发表于 2012-5-30 18:19:03 android EditText输入限制 android:digits="1234567890.+-*/%\n()" 限制输入 ...
- 实现EditText输入金额(小数点后两位)
通过设置过滤器(Filter)实现EditText输入金额(小数点后两位). 布局文件 <!--inputType设置为numberDecimal--> <EditTextandro ...
最新文章
- 太赞!Python和Excel终于可以互通了
- 基于phantomJS实现web性能监控
- 简单计算机面试题库及答案_460道Java后端面试高频题答案版【模块六:计算机操作系统】...
- c++接口调用外部类_Java基础:Java语法糖4之内部类
- 装完机,启grub+Linux,linux一路填坑...
- 王者荣耀交流协会 — Alpha阶段中间产物
- Java高级工程师学习要求
- 路由器温度测试软件,教你增强小米路由WEB管理(一)——添加CPU温度显示
- 人工智能行业现状与未来发展趋势
- windowsXP sp2 to sp3 的升级包
- 三度盈利,51Talk稳了吗?
- 搭建自己的Milvus以图搜图服务
- 超全Altium Designer16 总结--Altium Designer
- c语言坐标反算方位角函数,反三角函数/简易正反算or方位角转度分秒
- 接口测试与Postman
- 到底要学前端还是后端?
- 关于Excel导入(或数据库连接)的HDR=YES; IMEX=1详解
- java 生成 checksum
- 欧洲杯第三周的比赛闲聊
- 麦当劳“制服黑丝”,火了!
热门文章
- 软考高级系统架构设计师系列论文三十六:论基于构件的软件开发
- 租房系统(Android)
- 东海高新技术产业开发区规划环评第一次公示
- ubuntu制作pdf文件
- AppAnnie——AppStore统计工具
- 论文阅读1:QUBIC2 A novel and robust biclustering algorithm for analyses
- vue30秒刷新一次
- 吉比特笔试编程题 - 最好一样
- android音乐播放器课程设计报告,基于android平台的音乐播放器的课程设计报告.docx...
- docker使用遇到的坑 Addtion property mysql is not allowed