InputFilter Pattern不允许小数

时间:2014-04-27 17:08:55

标签: android regex string-formatting android-input-filter

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

无效
〜01
~3.001

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

这就是我一直在尝试使用的

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

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

1 个答案:

答案 0 :(得分:0)

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

尝试将{1,2}替换为表达式中的{0,1,2}以允许尾随"。"。