java判断数字类型(小数和整数)

Patternpattern=Pattern.compile("^\\d+$|^\\d+\\.\\d+$|-\\d+$");MatcherisNum=pattern.ma... Pattern pattern = Pattern.compile("^\\d+$|^\\d+\\.\\d+$|-\\d+$");
Matcher isNum = pattern.matcher(str);
if (!isNum.matches()) {
return false;
}
return true;
按照上面的代码能检验字符是否为整数但是小数的话怎么判断呢???
展开
 我来答
八零后电影院
高粉答主

2018-12-18 · 说的都是干货,快来关注
知道小有建树答主
回答量:330
采纳率:100%
帮助的人:9.7万
展开全部

java判断数字类型是否为小数,可以采用正则表达式的方式来判断,以下是使用正则表达式来判断数字类型是否为小数的代码:

public static boolean isNumber(String str) {

boolean isInt = Pattern.compile("^-?[1-9]\\d*$").matcher(str).find();

boolean isDouble = Pattern.compile("^-?([1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*|0?\\.0+|0)$").matcher(str).find();

return isInt || isDouble;

}

 扩展资料

java判断数字类型,正则表达式用法:

1、$:匹配输入行尾。如果设置了RegExp对象的Multiline属性,$也匹配“\n”或“\r”之前的位置。

2、*:匹配前面的子表达式任意次。例如,zo*能匹配“z”,也能匹配“zo”以及“zoo”。*等价于{0,}。

3、+:匹配前面的子表达式一次或多次(大于等于1次)。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}。

4、?:匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“do”或“does”。?等价于{0,1}。

5、{n,}:n是一个非负整数。至少匹配n次。例如,“o{2,}”不能匹配“Bob”中的“o”,但能匹配“foooood”中的所有o。“o{1,}”等价于“o+”。“o{0,}”则等价于“o*”。

参考资料:百度百科—正则表达式

cs6641468
推荐于2018-03-07 · TA获得超过5713个赞
知道大有可为答主
回答量:863
采纳率:100%
帮助的人:991万
展开全部
^\\d+$ 是判断位正整数的
^\\d+\\.\\d+$ 判断是否位正小数
-\\d+$:判断是否位负整数
你代码里这三个用 “ | ”(或)运算符连接,表示只要是整数或者是正的小数就是true了。

另外可以加一句
^-\\d+\\.\\d+$ 判断是否位负的小数

按照你的要求:
Pattern pattern = Pattern.compile("^\\d+$|-\\d+$"); // 就是判断是否为整数
Pattern pattern = Pattern.compile("\\d+\\.\\d+$|-\\d+\\.\\d+$");//判断是否为小数
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flyingFish211
2011-07-29 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
你那个写得太麻烦了

String reg = "\\d+(\\.\\d+)?";
String str = "12.33333";

System.out.println(str.matches(reg));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式