项目中一些细节东西
来源:互联网 发布:java手游 编辑:程序博客网 时间:2024/06/06 09:31
1 需要输入金额的时候,限制输入两位小数,以及小数点不能出现在第一位,只能输入一个小数点
amountInput.setFilters(new InputFilter[]{new InputFilter() {//设置输入两位小数
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
if (source.equals(".") && dest.toString().length() == 0) {
return "0.";
}
if (dest.toString().contains(".")) {
int index = dest.toString().indexOf(".");
int mlength = dest.toString().substring(index).length();
if (mlength == 3) {
return "";
}
}
return null;
}
}});
2 监听银行卡号的输入,每四位一个空格
changeCardNumber.addTextChangedListener(new TextWatcher() { int beforeTextLength = 0; int onTextLength = 0; boolean isChanged = false; int location = 0;// 记录光标的位置 private char[] tempChar; private StringBuffer buffer = new StringBuffer(); int konggeNumberB = 0; @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { beforeTextLength = s.length(); if (buffer.length() > 0) { buffer.delete(0, buffer.length()); } konggeNumberB = 0; for (int i = 0; i < s.length(); i++) { if (s.charAt(i) == ' ') { konggeNumberB++; } } } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { onTextLength = s.length(); buffer.append(s.toString()); if (onTextLength == beforeTextLength || onTextLength <= 3 || isChanged) { isChanged = false; return; } isChanged = true; } @Override public void afterTextChanged(Editable s) { if (isChanged) { location = changeCardNumber.getSelectionEnd(); int index = 0; while (index < buffer.length()) { if (buffer.charAt(index) == ' ') { buffer.deleteCharAt(index); } else { index++; } } index = 0; int konggeNumberC = 0; while (index < buffer.length()) { if ((index == 4 || index == 9 || index == 14 || index == 19)) { buffer.insert(index, ' '); konggeNumberC++; } index++; } if (konggeNumberC > konggeNumberB) { location += (konggeNumberC - konggeNumberB); } tempChar = new char[buffer.length()]; buffer.getChars(0, buffer.length(), tempChar, 0); String str = buffer.toString(); if (location > str.length()) { location = str.length(); } else if (location < 0) { location = 0; } changeCardNumber.setText(str); Editable etable = changeCardNumber.getText(); Selection.setSelection(etable, location); isChanged = false; } }});用String.replace的方法获取到不带空格的字符串
3 不四舍五入的截取小数点后两位
DecimalFormat format=new DecimalFormat("#.00");format.setRoundingMode(RoundingMode.FLOOR);double tt=Double.parseDouble(format.format(num));
阅读全文
0 0
- 项目中一些细节东西
- 一些工作中的细节东西
- 卷积神经网络-细节 一些不为人知的东西
- Latex中一些细节
- 项目合作一些小细节
- MAVEN项目的一些细节
- spring项目中监听器作用-ContextLoaderListener(项目启动时,加载一些东西到缓存中)
- spring项目中监听器作用-ContextLoaderListener(项目启动时,加载一些东西到缓存中)
- spring项目中监听器作用-ContextLoaderListener(项目启动时,加载一些东西到缓存中)
- 项目中知识点细节
- 关于网页前端里面一些细节的东西
- ActionBar中,menu 一些细节!
- 一位大师总结的东西---J2EE学习中一些值得研究的开源项目
- 多线程首次项目应用一些细节
- 项目中遇到的一些以前不知道的小细节
- Java中容易搞错的一些东西
- Flex 中需要记住的一些东西
- VS中UnitTest的一些东西
- NDK/JNI二维数组多维数组传递
- jQuery入门学习
- FAFU OJ TeX括号
- java 读写 yaml 文件
- ZOJ Problem Set
- 项目中一些细节东西
- Vue下拉框点击选中,点击其他区域消失
- fastclick使用与解密
- 做自媒体博客对几个细节进行优化对推广运营工作好处多多
- MaterialDialog无法设置字体颜色
- 编码读取EXCEL的几点注意
- Android线程管理(一)——线程通信(转载)
- Kaldi语音识别学习笔记(一)
- 页面去掉横竖滚动条