How to set Edittext view allow only two numeric values and two decimal values like ##.##

后端 未结 2 1920
旧巷少年郎
旧巷少年郎 2020-12-11 12:31

I need to set validation for a edittext view should allow two numeric values and two decimal values. example: 22.32

Please let me know how to do this validation

相关标签:
2条回答
  • 2020-12-11 13:29

    Try this out. I suck at regex so it may not be the best, but give it a try.

        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);
    
    0 讨论(0)
  • 2020-12-11 13:33
    boolean isValid=<EditText Variable>.getText().toString().matches("\\d{2}\\.\\d{2}");
    

    Put this method in a onClickListener and I guess you will be good to go.

    0 讨论(0)
提交回复
热议问题