最近一个需求最大金额输入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位)小数简单通用实现相关推荐

  1. android edittext 输入手机号码格式变化

    android edittext 输入内容只能是xxx-xxxx-xxxx格式的手机号码 EditText phoneEt = (EditText) findViewById(R.id.phone_e ...

  2. Android EditText输入光标居于开头最开始位置

    Android EditText输入光标居于开头最开始位置 Android的EditText输入光标默认是居于整个EditText的中心位置的,如图所示: 如果欲使EditText加载后的输入光标自动 ...

  3. android edittext 输入完成监听,EditText输入监听

    EditText输入监听 原创 6710766562015-05-13 13:34:38著作权 文章分类 android开发 阅读数 548 ©著作权归作者所有:来自51CTO博客作者67107665 ...

  4. Android EditText输入限制及字符编码

    EditText 经常会有限制输入字符长度的需求,限制输入长度的方法有三种: xml设置maxLength属性 android:maxLength="50" 通过InputFilt ...

  5. android edittext 输入长度,Android EditText限制输入字数的方法

    本文实例讲述了Android EditText限制输入字数的方法.分享给大家供大家参考,具体如下: //新浪微博字数限制 private static final int WEIBO_CONTENT_ ...

  6. android edittext输入邮箱,[Android教程]EditText怎样限制用户的输入?数字/字母/邮箱

    有输入必有验证.为了防止用户随便输入确保提交数据的合法性,程序不得不在文本输入框(EditText)中增加限制或验证. 关于输入类型有数字.字母.邮箱.电话等形式,这些具体得根据业务来.那么Andro ...

  7. Android EditText输入一串字符串自动每4个字符空一格,像输入银行卡卡号格式

    最近写类似需要像银行卡输入那样每4个字符空一格,网上看了很多都没有很好的解决索性自己写一个.主要思路就是活用beforeTextChanged().onTextChanged().afterTextC ...

  8. android edittext限制字节_android EditText输入限制

    zyz 发表于 2012-5-30 18:19:03 android EditText输入限制 android:digits="1234567890.+-*/%\n()" 限制输入 ...

  9. 实现EditText输入金额(小数点后两位)

    通过设置过滤器(Filter)实现EditText输入金额(小数点后两位). 布局文件 <!--inputType设置为numberDecimal--> <EditTextandro ...

最新文章

  1. 太赞!Python和Excel终于可以互通了
  2. 基于phantomJS实现web性能监控
  3. 简单计算机面试题库及答案_460道Java后端面试高频题答案版【模块六:计算机操作系统】...
  4. c++接口调用外部类_Java基础:Java语法糖4之内部类
  5. 装完机,启grub+Linux,linux一路填坑...
  6. 王者荣耀交流协会 — Alpha阶段中间产物
  7. Java高级工程师学习要求
  8. 路由器温度测试软件,教你增强小米路由WEB管理(一)——添加CPU温度显示
  9. 人工智能行业现状与未来发展趋势
  10. windowsXP sp2 to sp3 的升级包
  11. 三度盈利,51Talk稳了吗?
  12. 搭建自己的Milvus以图搜图服务
  13. 超全Altium Designer16 总结--Altium Designer
  14. c语言坐标反算方位角函数,反三角函数/简易正反算or方位角转度分秒
  15. 接口测试与Postman
  16. 到底要学前端还是后端?
  17. 关于Excel导入(或数据库连接)的HDR=YES; IMEX=1详解
  18. java 生成 checksum
  19. 欧洲杯第三周的比赛闲聊
  20. 麦当劳“制服黑丝”,火了!

热门文章

  1. 软考高级系统架构设计师系列论文三十六:论基于构件的软件开发
  2. 租房系统(Android)
  3. 东海高新技术产业开发区规划环评第一次公示
  4. ubuntu制作pdf文件
  5. AppAnnie——AppStore统计工具
  6. 论文阅读1:QUBIC2 A novel and robust biclustering algorithm for analyses
  7. vue30秒刷新一次
  8. 吉比特笔试编程题 - 最好一样
  9. android音乐播放器课程设计报告,基于android平台的音乐播放器的课程设计报告.docx...
  10. docker使用遇到的坑 Addtion property mysql is not allowed