Pattern pattern = Pattern.compile("^\\d+$|^\\d+\\.\\d+$|-\\d+$");Matcher isNum = pattern.matcher(str);if (!isNum.matches()) {return false;}return true;
2 回答
繁华开满天机
TA贡献1816条经验 获得超4个赞
^\\d+$ 是判断位正整数的
^\\d+\\.\\d+$ 判断是否位正小数
-\\d+$:判断是否位负整数
你代码里这三个用 “ | ”(或)运算符连接,表示只要是整数或者是正的小数就是true了。
另外可以加一句
^-\\d+\\.\\d+$ 判断是否位负的小数
按照你的要求:
Pattern pattern = Pattern.compile("^\\d+$|-\\d+$"); // 就是判断是否为整数
Pattern pattern = Pattern.compile("\\d+\\.\\d+$|-\\d+\\.\\d+$");//判断是否为小数
墨色风雨
TA贡献1853条经验 获得超6个赞
你那个写得太麻烦了
String reg = "\\d+(\\.\\d+)?";
String str = "12.33333";
System.out.println(str.matches(reg));
- 2 回答
- 0 关注
- 248 浏览
添加回答
举报
0/150
提交
取消
