android 金额输入弹窗,金额输入框_小罗的安卓学习记录的技术博客_51CTO博客
import android.text.InputFilter;
import android.text.Spanned;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* joy on 2015/12/17.
*
* 金额输入格式
*/
public class EditInputFilter implements InputFilter {
/**
* 最大数字,我们取int型最大值
*/
public static final int MAX_VALUE = 2147483647;
/**
* 小数点后的数字的位数
*/
public static final int PONTINT_LENGTH = 2;
Pattern p;
public EditInputFilter(){
p = Pattern.compile(“[0-9]*”); //除数字外的其他的
}
/**
* source 新输入的字符串
* start 新输入的字符串起始下标,一般为0
* end 新输入的字符串终点下标,一般为source长度-1
* dest 输入之前文本框内容
* dstart 原内容起始坐标,一般为0
* dend 原内容终点坐标,一般为dest长度-1
*/
@Override
public CharSequence filter(CharSequence src, int start, int end,
Spanned dest, int dstart, int dend) {
String oldtext = dest.toString();
System.out.println(oldtext);
//验证删除等按键
if (“”.equals(src.toString())) {
return null;
}
//验证非数字或者小数点的情况
Matcher m = p.matcher(src);
if(oldtext.contains(“.”)){
//已经存在小数点的情况下,只能输入数字
if(!m.matches()){
return null;
}
}else{
//未输入小数点的情况下,可以输入小数点和数字
if(!m.matches() && !src.equals(“.”) ){
return null;
}
}
//验证输入金额的大小
if(!src.toString().equals(“”)){
double dold = Double.parseDouble(oldtext+src.toString());
if(dold > MAX_VALUE){
return dest.subSequence(dstart, dend);
}else if(dold == MAX_VALUE){
if(src.toString().equals(“.”)){
return dest.subSequence(dstart, dend);
}
}
}
//验证小数位精度是否正确
if(oldtext.contains(“.”)){
int index = oldtext.indexOf(“.”);
int len = dend – index;
//小数位只能2位
if(len > PONTINT_LENGTH){
CharSequence newText = dest.subSequence(dstart, dend);
return newText;
}
}
return dest.subSequence(dstart, dend) +src.toString();
}
}
InputFilter[] filters = { new EditInputFilter() };
edit_takeout_money.setFilters(filters);
android 金额输入弹窗,金额输入框_小罗的安卓学习记录的技术博客_51CTO博客相关推荐
- 小猿圈python金角大王_小猿圈python学习-基本数据类型
小猿圈python学习-基本数据类型 2019-04-24 11:16:14 1点赞 6收藏 0评论 什么是数据类型? 我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大, ...
- 小猿圈python视频_小猿圈分享学习Python的最佳方式
原标题:小猿圈分享学习Python的最佳方式 python现在是世界上功能最多的编程语言之一,可以是用Python编辑应用程序,游戏.算法程序.还可以编程一个机器人,学习Python可以担任软件工程师 ...
- android手机通讯录格式转换,手机通讯录小技巧,安卓手机通讯录转iPhone并不难,换机必学...
原标题:手机通讯录小技巧,安卓手机通讯录转iPhone并不难,换机必学 今年618年中大促销,国内的电商巨头们分分大减价,就连号称保价的苹果手机,过万iPhone XS MAX都跌入八千户里.相信很多 ...
- vins中imu融合_小觅智能 | VINS 学习笔记(持续更新中)
VINS 基本介绍 VINS-Mono 和 VINS-Mobile 是香港科技大学沈劭劼老师开源的单目视觉惯导 SLAM 方案.2017年发表于<IEEE Transactions on Rob ...
- 百度for android v5.0,小冰冰传奇百度版下载_小冰冰传奇安卓版下载v5.0.137_3DM手游...
<小冰冰传奇 百度版>游戏的前身为火爆的手游<刀塔传奇>,由于一些问题而不得不改名,并且对游戏内的大量角色和原型都做了一定的改动.该游戏继承了<刀塔传奇>的基本玩法 ...
- 关于右下角广告弹窗的解决方案_小黄鸭
一年一度 的双十一又到了,我们的计算机上也多了好多广告弹窗,特别是今天有一个弹窗竟然几分钟弹一次 解决方案: 一.下个火绒,打开里面的安全工具–>弹窗拦截.里面有个截图拦截,点了之后之只要把鼠标 ...
- router vue 回到顶部_小猿圈HTML5学习之基于iview的router常用控制方式
对于互联网发展的今天,IT行业慢慢变成大多数年轻人发展的目标,不仅前景好,薪资也是越来越高的,而web前端是行业中需要的技术,也促进了大多数朋友在学习html5,今天小猿圈讲师给你分享基于iview的 ...
- android当u盘,堪称神器!小软件让安卓当U盘亦可读文件
安卓用户应该会知道,当安卓机连接电脑,开启U盘模式化身U盘后,电脑是可以很方便地管理安卓机SD卡上的文件,但这时安卓系统却读不出SD卡了.虽说和iOS相比,安卓能够直接当U盘传数据是很方便,但不能同时 ...
- 换机同步助手android,换机同步助手手机版_换机同步助手安卓版5.2.4 - 系统城
应用介绍 现在每个人的手机中就应该需要下载一个备份软件app,因为这样才不会担心因为一些意外的事情导致了你手机无法正常打开,数据无法从中导出来,那么今天要给大家推荐一款超好用的手机备份app--换机同 ...
最新文章
- 伍六七带你学算法 动态规划 ——不同路径
- 序列每天从1开始_时间序列预测一
- 成功解决An error ocurred while starting the kernel
- C++ new一个数组方法和初始化的方法
- Python学习(四) —— 编码
- ajax 局部页面替换innerhtml,ajax jquery 页面局部刷新的不同实现代码
- python中yield的用法详解——最简单,最清晰的解释(转载)
- 漫画:什么是A*寻路算法
- ebtables之BROUTING和PREROUTING的redirect的区别
- 代码查看工具_不好用打我 | 六个前端开发在线工具推荐
- HCIE RS 全套笔记整理
- 【路径规划】基于matlab GUI A_star算法最短路径规划【含Matlab源码 633期】
- 蘑菇街直播实战技巧带你解决直播开发难题
- LayoutIt! 设计Bootstrap页面
- 电商后台管理项目的步骤分析
- 关于浏览器缓存,版本更新问题
- 用Spotlight实时监控Windows Server 08
- phaser java_java并发编程:Phaser同步工具原理
- 鸿蒙os系统测评,鸿蒙OS 2首批评价出炉,看已升级用户都怎么说的
- 魅族计算机按键声,魅族16T按键音怎么关
热门文章
- 请你设计一个微信朋友圈点赞的测试用例
- matlab 图中lengend换行
- 03 优先搜索(dfs bfs)、最小生成树(笛卡尔 prime)、两点最短路径(迪杰斯特拉 Floyd)
- 2022中国(青岛)国际储能技术及应用展览会,山东风力发电展
- 自媒体平台资讯06:网易有网易号,有网易公开课自媒体,现在又有网易有道号?...
- jQuery 学习-DOM篇(四):jQuery 删除 DOM 元素的方法
- 全国一级计算机基础及MSOffice应用模拟软件下载
- 【前端】一个好看的前端页面
- 动物派对怎么修改服务器,动物派对登录失败怎么办 Party Animals玩法进入游戏解决方法...
- java 采集新闻数据