edittext 输入2位小数
时间: 2024-02-06 10:01:57 浏览: 90
您可以使用 Android 的 EditText 组件来输入数字,并设置输入类型为 "numberDecimal"。然后,在您的代码中,您可以使用 DecimalFormat 类来格式化输入,并确保它只显示两位小数。以下是一个简单的例子:
1. 在布局文件中设置 EditText 组件:
```xml
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="numberDecimal" />
```
2. 在您的代码中获取 EditText 组件并设置格式化方式:
```java
EditText editText = findViewById(R.id.editText);
DecimalFormat decimalFormat = new DecimalFormat("#.##");
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// do nothing
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// do nothing
}
@Override
public void afterTextChanged(Editable s) {
try {
String input = s.toString();
if (!input.isEmpty()) {
double value = Double.parseDouble(input);
String formatted = decimalFormat.format(value);
if (!input.equals(formatted)) {
editText.setText(formatted);
editText.setSelection(formatted.length());
}
}
} catch (NumberFormatException e) {
// handle error
}
}
});
```
此代码将监视 EditText 中的文本更改,并在用户输入后使用 DecimalFormat 将其格式化为两位小数。如果用户输入了无效的数字,则会捕获 NumberFormatException 异常并进行错误处理。
阅读全文