我需要设置最大输入为整数(7),最大输入为十进制(2)。示例:7777777.77,此刻我正在使用Regex作为整数,但是如何设置输入用户为十进制?
editText.setFilters(new InputFilter[] { new InputFilter.LengthFilter(7) });
答案 0 :(得分:2)
基本的正则表达式模式将是
^[0-9]{1,7}([.][0-9]{1,2})?$
但是,如果您的正则表达式引擎支持负前瞻,并且您想要阻止不需要的前导零(例如000123.45
),那么请使用模式
^(?!0[0-9])[0-9]{1,7}([.][0-9]{1,2})?$
如果您想允许带小数点且没有任何特征号的数字,例如123.
,请将{1,2}
部分替换为{0,2}
。