EditText限制输入两位小数
时间: 2024-01-07 13:06:19 浏览: 82
可以通过在EditText的TextChangedListener中监听用户输入的文本,并在输入变化时进行处理,以限制用户只能输入两位小数。以下是一个简单的示例代码:
```java
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
String input = s.toString();
if (input.contains(".")) {
int dotPosition = input.indexOf(".");
if (input.length() - dotPosition - 1 > 2) {
// 限制小数点后只能输入两位
editText.setText(input.substring(0, dotPosition + 3));
editText.setSelection(editText.getText().length());
}
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
```
在上述示例中,我们首先添加了一个TextChangedListener来监听EditText中输入的文本。在onTextChanged方法中,我们获取当前输入的文本并检查是否包含小数点。如果包含小数点,则计算小数点后的位数,如果超过两位,则将EditText的文本设为小数点前两位加上小数点后两位,并将光标移动到文本末尾,以限制只能输入两位小数。
阅读全文