您的位置 首页 技术

java使用正则表达式判断传入数据是否为数字

可以利用正则表达式来“-?[0-9]+(\\.[0-9]+)?”来做判断字符串是否为数字。 如果传入的数据有很多位,那么使用double会导致精度丢失,这个时候就要用BigDeci…

可以利用正则表达式来“-?[0-9]+(\\.[0-9]+)?”来做判断字符串是否为数字。

如果传入的数据有很多位,那么使用double会导致精度丢失,这个时候就要用BigDecimal来进行转换。

实例:

    public class CheckStrIsNum {           public static void main(String[] args) {                 double aa = -192322.1212;                String a = "-192322.1212";              String b = "-192322a1212";                 String c = "Java";              String d = "5";                /** 判断是否全为数字 */                                 System.out.println(checkStrIsNum02(Double.toString(aa)));                    System.out.println(checkStrIsNum02(a));                    System.out.println(checkStrIsNum02(b));                    System.out.println(checkStrIsNum02(c));                    System.out.println(checkStrIsNum02(d));         }                private static Pattern NUMBER_PATTERN = Pattern.compile("-?[0-9]+(\\.[0-9]+)?");        /**          * 利用正则表达式来判断字符串是否为数字          */         public static boolean checkStrIsNum02(String str) {             String bigStr;             try {                      /** 先将str转成BigDecimal,然后在转成String */                bigStr = new BigDecimal(str).toString();             } catch (Exception e) {                 /** 如果转换数字失败,说明该str并非全部为数字 */                return false;             }             Matcher isNum = NUMBER_PATTERN.matcher(str);             if (!isNum.matches()) {                    return false;             }              return true;        }    }

推荐教程:java开发入门

以上就是java使用正则表达式判断传入数据是否为数字的详细内容,更多请关注24课堂在线网其它相关文章!

本文来自网络,不代表24小时课堂在线立场,转载请注明出处:https://www.24ketang.cn/14886.html

为您推荐

返回顶部