android - 如何设置Edittext View 只允许两个数值和两个小数,如##.##

标签 android validation android-edittext

我需要为 edittext View 设置验证应该允许两个数值和两个小数值。 示例:22.32

请告诉我如何进行此验证

提前致谢

最佳答案

试试这个。我不太擅长正则表达式,所以它可能不是最好的,但请尝试一下。

    EditText text = new EditText(this);
    InputFilter[] filters = new InputFilter[1];
    filters[0] = new InputFilter() {
        public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
            if (end > start) {
                String destTxt = dest.toString();
                String resultingTxt = destTxt.substring(0, dstart) + source.subSequence(start, end) + destTxt.substring(dend);
                if (!resultingTxt.matches("^\\d(\\d(\\.\\d{0,2})?)?")) {
                    return "";
                }
            }
        return null;
        }
    };
    text.setFilters(filters);

关于android - 如何设置Edittext View 只允许两个数值和两个小数,如##.##,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5736833/

相关文章:

java - EditText 输入金额

android - 如何在 TextInputLayout 上设置 maxHeight

android - 如何更改qt android应用程序的默认应用程序图像

java - 在 Web 服务上使用 Spring Validator

css - 如何更改 HTML5 表单验证消息中的图像?

java - 是否可以向父类(super class)型中声明的属性添加 javax.validation 注释?

android - 如何从 AlertDialog 获取结果?

Android Studio 1.4.1 - 无法在 Subversion 中排除 .iml 文件

android - 导出使用 Proguard 的应用程序时出错

android - Altbeacon 库测距只有 30% 的时间检测到信标