Java中怎样判断一个字符串是否是数字?

 我来答
南非乌雀
推荐于2019-08-06 · TA获得超过4.9万个赞
知道小有建树答主
回答量:62
采纳率:100%
帮助的人:1.6万
展开全部

用正则表达式

public static boolean isNumericzidai(String str) {
Pattern pattern = Pattern.compile("-?[0-9]+.?[0-9]+");
Matcher isNum = pattern.matcher(str);        if (!isNum.matches()) {            return false;
}        return true;
}12345678

网上给出的最好的方法,可惜还是错误;首先正则表达式-?[0-9]+.?[0-9]+这里就错误 
网上说:可匹配所有数字。 
比如:

double aa = -19162431.1254;
String a = "-19162431.1254";
String b = "-19162431a1254";
String c = "中文";
System.out.println(isNumericzidai(Double.toString(aa)));
System.out.println(isNumericzidai(a));
System.out.println(isNumericzidai(b));
System.out.println(isNumericzidai(c));12345678

结果

falsetruetruefalse1234

正确的正则表达式是:-?[0-9]+\\.?[0-9]*,点号.,是匹配任意字符,需要进行转义。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式