Android,使用EditText限制2位小数点
时间: 2024-03-05 19:51:37 浏览: 104
可以使用 InputFilter 来限制 EditText 输入的小数位数。具体步骤如下:
1. 创建一个 InputFilter 对象:
```
InputFilter filter = new InputFilter() {
public CharSequence filter(CharSequence source, int start, int end,
Spanned dest, int dstart, int dend) {
// 判断是否已经存在小数点
if (dest.toString().contains(".")) {
// 已经存在小数点,只允许输入小数点后两位
int index = dest.toString().indexOf(".");
int length = dest.toString().substring(index).length();
if (length > 2) {
return "";
}
} else {
// 不存在小数点,允许输入小数点和数字
if (!source.toString().matches("[0-9.]")) {
return "";
}
}
return null;
}
};
```
2. 将 InputFilter 对象设置给 EditText:
```
EditText editText = findViewById(R.id.editText);
editText.setFilters(new InputFilter[] {filter});
```
这样,当用户输入小数点时,只允许输入小数点后两位,从而实现了限制。
阅读全文