如何设置 Edittext 视图仅允许两个数值和两个小数值,如 ##.##

发布于 2024-11-02 17:41:32 字数 85 浏览 1 评论 0原文

我需要设置 edittext 视图的验证应允许两个数值和两个小数值。 示例:22.32

请让我知道如何进行此验证

提前致谢

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

Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

执着的年纪 2024-11-09 17:41: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);

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);
静若繁花 2024-11-09 17:41:32
boolean isValid=<EditText Variable>.getText().toString().matches("\\d{2}\\.\\d{2}");

将此方法放入 onClickListener 中,我想您会很高兴。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文