-8
Pattern regex = Pattern.compile("^\\d{0,8}\\.\\d{0,4}$");

正在工作,但如果我输入值,例如 5000,它应该可以工作。基本上有效值应该等于或小于“99999999.9999”。

如果值为“123456789”,则无效。

小数点不是强制性的。

请帮忙。

4

2 回答 2

4

由于每个浮点数都有许多不同的表示形式(想想100, 100.0,1e2等),我建议将数字解析为 a double,然后使用数字比较来确定它是否在所需的范围内。

于 2012-11-22T13:58:53.270 回答
3

使小数部分可选

^\d{0,8}(\.\d{0,4})?$

但我认为你的意思是直到只有12345678但如果不是

^\d{0,9}(\.\d{0,4})?$

但我建议1在小数点后至少有一个数字,所以如果用户尝试输入123.它将失败

^\d{0,9}(\.\d{1,4})?$
于 2012-11-22T13:57:44.777 回答