0

我希望用户能够输入如下数字。
有效:
~0
~0.00
~12.34
~301.7
~4

无效
~01
~3.001

简而言之,它允许十进制数最多保留两位小数。

这是我一直在尝试使用的

Pattern mPattern = Pattern.compile("|(0|[1-9]+[0-9]*)(\\.[0-9]{1,2})?");

当我尝试输入“。”时 在外地,它不会让我。

4

1 回答 1

0

我认为问题在于您的验证模式需要在输入时与输入相匹配。在您的情况下,只要您输入“.”,您的输入就无效。例如,如果您尝试输入1.23,当您输入小数点时,您的输入变为1.,这与您的正则表达式不匹配。

尝试在您的表达式中替换{1,2}{0,1,2}以允许尾随“。”。

于 2016-03-31T13:43:19.593 回答