android edittext 限制小数点后最多只能输入两位数字
2017-01-19 19:04
381 查看
android:inputType="numberDecimal"
private InputFilter lengthFilter = new InputFilter() { @Override public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { // source:当前输入的字符 // start:输入字符的开始位置 // end:输入字符的结束位置 // dest:当前已显示的内容 // dstart:当前光标开始位置 // dent:当前光标结束位置 LogUtil.i("", "source=" + source + ",start=" + start + ",end=" + end + ",dest=" + dest.toString() + ",dstart=" + dstart + ",dend=" + dend); if (dest.length() == 0 && source.equals(".")) { return "0."; } String dValue = dest.toString(); String[] splitArray = dValue.split("\\."); if (splitArray.length > 1) { String dotValue = splitArray[1]; if (dotValue.length() == 2) {//输入框小数的位数 return ""; } } return null; } };
edit.setFilters(new InputFilter[]{lengthFilter});
class MyInputFilter implements InputFilter{ public MyInputFilter(int dotLength) { this.dotLength = dotLength; } int dotLength ; @Override public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { // source:当前输入的字符 // start:输入字符的开始位置 // end:输入字符的结束位置 // dest:当前已显示的内容 // dstart:当前光标开始位置 // dent:当前光标结束位置 LogUtil.i("", "source=" + source + ",start=" + start + ",end=" + end + ",dest=" + dest.toString() + ",dstart=" + dstart + ",dend=" + dend); if (dest.length() == 0 && source.equals(".")) { return "0."; } String dValue = dest.toString(); String[] splitArray = dValue.split("\\."); if (splitArray.length > 1) { String dotValue = splitArray[1]; if (dotValue.length() == dotLength) {//输入框小数的位数 return ""; } } return null; } }
相关文章推荐
- edittext只能输入数字和小数点,且小数点后只能输入两位
- iOS中TextField只能输入数字且小数点后最多输入两位
- Android 限制EditText只能输入数字、限制输入类型、限制输入长度的小技巧
- Android EditText设置只能输入数字和小数点
- IOS中TextField中支付只能输入数字,并且小数点后最多输入两位
- Android EditText监听小数点让用户只能输入小数点后两位
- 关于EditText输入数字时候限制为一个亿的问题,且保留小数点两位小数
- android EditText最多输入两位小数&不能以小数点开头&最多一个小数点
- edittext限制小数点后面只能输入两位
- Android EditText设置只能输入数字和小数点
- Android EditText监听小数点让用户只能输入小数点后两位
- Android EditText监听小数点让用户只能输入小数点后两位
- Android EditText输入限制最大字符长度 和 限制只能输入数字和字母(包含大小写)
- Android限定EditText的输入类型为数字或者英文(包括大小写),EditText,TextView只能输入两位小数
- 封装的EditText的输入限制(输入的数字前+¥,精确到小数点后两位)
- Android EditText限制小数点输入两位
- android的edittext设置输入限制,只能输入数字
- 保持字符串小数点后两位和EditText输入框中输入的数字的长度限制
- Android 限制EditText只能输入数字、限制输入类型、限制输入长度的小技巧
- Android设置EditText只能输入数字,不包含小数点