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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中怎样判断一个字符串是不是是数字?相关的知识,希望对你有一定的参考价值。

参考技术A

用正则表达式

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]*,点号.,是匹配任意字符,需要进行转义。

java中怎样判断一个字符串是不是是数字

参考技术A 用stringbuffer 把字符串拆分成一个字符逐个判断它是不是数字;如果循环下来都是数字那么这个字符串就是数字字符串否则就不是。 参考技术B

try

               int b = Integer.parseInt(str);

        

            catch (Exception e)

                System.out.println("这不是数字");

                continue;    //可以在这里写不是数字后的逻辑

           

本回答被提问者和网友采纳
参考技术C 是判断包含数字还是判断它是一个数字?
判断是一个数字 用 Integer.parseInt("");
抛出异常则说明不是数字

判断包含数字就把字符串每一个字符parseInt 有一个就判断包含数字
参考技术D 正则表达式来判断呗!

以上是关于Java中怎样判断一个字符串是不是是数字?的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

Java怎样判断字符相等

Java怎样判断字符相等

Linux shell 怎样判断输入是不是是数字啊?(包含浮点数)