Android EditText 输入金额(小数点后两位)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android EditText 输入金额(小数点后两位)相关的知识,希望对你有一定的参考价值。

EditText mEdit = new EditText(context);
InputType.TYPE_NUMBER_FLAG_DECIMAL、小数点型
InputType.TYPE_CLASS_NUMBER 整数型

设置Input的类型两种都要

mEdit.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL|InputType.TYPE_CLASS_NUMBER);

设置字符过滤
mEdit.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;
}
}});

以上是关于Android EditText 输入金额(小数点后两位)的主要内容,如果未能解决你的问题,请参考以下文章

Android Edittext限制输入小数位数,限制输入数字大小及所有相关式样与属性(总结)

如何限制用户输入EditText(Xamarin.Android)中小数点分隔符后的最大2位或3位数?

Android文本输入框EditText禁用分号

Android 编辑框(EditText)属性学习

Android 编辑框(EditText)属性学习

关于Android下控制Edittext的输入的整数长度。