Pattern regex = Pattern.compile("^\\d{0,8}\\.\\d{0,4}$");
正在运行,但如果我输入值,例如5000,它应该可以工作。基本上有效值应等于或小于“99999999.9999”。
如果值为“123456789”则无效。
小数点不是强制性的。
请帮忙。
答案 0 :(得分:4)
由于每个浮点数都有许多不同的表示形式(考虑100
,100.0
,1e2
等),我建议将数字解析为double
,然后使用数字比较来确定它是否在所需范围内。
答案 1 :(得分:3)
使小数部分可选
^\d{0,8}(\.\d{0,4})?$
但我认为你的意思是只有12345678
但如果不是
^\d{0,9}(\.\d{0,4})?$
但我建议在小数点后输入至少1
个数字,这样如果用户尝试输入123.
则会失败
^\d{0,9}(\.\d{1,4})?$