java判断字符串是不是数字的方法

互联网 19-11-22

用JAVA自带的函数

    public static boolean isNumericZidai(String str) {         for (int i = 0; i < str.length(); i++) {             System.out.println(str.charAt(i));             if (!Character.isDigit(str.charAt(i))) {                 return false;             }         }         return true;     }

其中Character.isDigit方法:确定或判断指定字符是否是一个数字。

测试方法:

    public static void main(String[] args) {         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));     }

结果显示:

false false false false

这种方法显然不能判断 负数。

用正则表达式

    /**      * 匹配是否为数字      * @param str 可能为中文,也可能是-19162431.1254,不使用BigDecimal的话,变成-1.91624311254E7      * @return      * @date 2016年11月14日下午7:41:22      */     public static boolean isNumeric(String str) {         // 该正则表达式可以匹配所有的数字 包括负数         Pattern pattern = Pattern.compile("-?[0-9]+(\\.[0-9]+)?");         String bigStr;         try {             bigStr = new BigDecimal(str).toString();         } catch (Exception e) {             return false;//异常 说明包含非数字。         }          Matcher isNum = pattern.matcher(bigStr); // matcher是全匹配         if (!isNum.matches()) {             return false;         }         return true;     }

使用org.apache.commons.lang

public static boolean isNumeric(String str)Checks if the String contains only unicode digits. A decimal point is not a unicode digit and returns false. null will return false. An empty String ("") will return true.  StringUtils.isNumeric(null)   = false  StringUtils.isNumeric("")     = true  StringUtils.isNumeric("  ")   = false  StringUtils.isNumeric("123")  = true  StringUtils.isNumeric("12 3") = false  StringUtils.isNumeric("ab2c") = false  StringUtils.isNumeric("12-3") = false  StringUtils.isNumeric("12.3") = false  Parameters: str - the String to check, may be null  Returns: true if only contains digits, and is non-null

更多java知识请关注java基础教程。

以上就是java判断字符串是不是数字的方法的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: java
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:2020全新Java面试题——基础部分(一)

相关资讯