• 技术文章 >Java >Java基础

    java怎么判断是数字

    angryTomangryTom2019-11-12 14:08:42原创2281

    在编程的时候,经常遇到要判断一个字符串中的字符是否是数字(0-9),判断字符串是不是数字,大家可能会用一些java自带的方法,也有可能用其他怪异的招式,比如判断是不是整型数字,将字符串强制转换成整型,不是数字的就会抛出错误,那么就不是整型的了,下面我给大家介绍几种实现方法。

    java怎么判断是数字

    1.使用Character.isDigit(char)判断(仅能判断一个字符)

    String str = "123abc";
    if (!"".equals(str)) {
        char num[] = str.toCharArray(); //把字符串转换为字符数组
        StringBuffer title = new StringBuffer(); //使用StringBuffer类,把非数字放到title中
        StringBuffer hire = new StringBuffer(); //把数字放到hire中
       
        for (int i = 0; i < num.length; i++) {
    
            // 判断输入的数字是否为数字还是字符
            if (Character.isDigit(num[i])) {
                把字符串转换为字符, 再调用Character.isDigit(char) 方法判断是否是数字, 是返回True, 否则False
                hire.append(num[i]); // 如果输入的是数字,把它赋给hire
            } else {
                title.append(num[i]); // 如果输入的是字符,把它赋给title
            }
        }
    }

    2.使用类型转换判断

    try {
        String str = "123abc";
        int num = Integer.valueOf(str); //把字符串强制转换为数字  
        return true; //如果是数字,返回True  
    } catch (Exception e) {
        return false; //如果抛出异常,返回False
    }

    3.使用正则表达式判断

    String str = "";
    boolean isNum = str.matches("[0-9]+");
    //+表示1个或多个(如"3"或"225"),*表示0个或多个([0-9]*)(如""或"1"或"22"),?表示0个或1个([0-9]?)(如""或"7")  
    4. 使用Pattern类和Matcher
    view plaincopy
    String str = "123";
    Pattern pattern = Pattern.compile("[0-9]+");
    Matcher matcher = pattern.matcher((CharSequence) str);
    boolean result = matcher.matches();
    if (result) {
        System.out.println("true");
    } else {
        System.out.println("false");
    }

    推荐教程:java教程

    以上就是java怎么判断是数字的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:java 判断数字
    上一篇:linux下java读取中文文件出现乱码的解决方法 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • js中判断数字字母中文的正则表达式 (实例)_javascript技巧• 判断数字大小• PHP之如何判断数字(数字字符串不算)• 判断数字大小_PHP教程
    1/1

    PHP中文网