如何使用java判断是不是数字

 更新时间:2023年06月29日 10:00:42   作者:忘忧人生  
这篇文章主要给大家介绍了关于如何使用java判断是不是数字的相关资料,判断一个字符串是否为数字是Java开发中很常见的业务需求,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

前言

在平常的开发工作中,我们经常需要判断某个值是不是数字类型。例如判断用户输入的某个值,必须为大于0的数字。那么,我们应该怎样判断呢?

1:使用org.apache.commons.lang3.StringUtils的isNumeric()方法

示例如下:

 public static void main(String[] args) {
        String s1 = "10000";
        String s2 = "-100";
        String s3 = "month";
        String s4 = "1023.89";
        System.out.println(StringUtils.isNumeric(s1));
        System.out.println(StringUtils.isNumeric(s2));
        System.out.println(StringUtils.isNumeric(s3));
        System.out.println(StringUtils.isNumeric(s4));
    }

输出结果依次为:

true
false
false
false

由此可知,isNumeric()方法如果是大于0的整数,则返回true。小于0的整数,返回false。如果大于0的小数,则依然返回false。所以,如果想判断含小数的字符串,则此方法不适用。

2:用正则表达式判断大于0的数字类型

示例如下:

 public static void main(String[] args) {
        String reg = "^[0-9]+(.[0-9]+)?$";
        String s1 = "10000";
        String s2 = "100.43";
        String s3 = "-100";
        String s4 = "month";
        String s5 = "1023.89";
        System.out.println(s1.matches(reg));
        System.out.println(s2.matches(reg));
        System.out.println(s3.matches(reg));
        System.out.println(s4.matches(reg));
        System.out.println(s5.matches(reg));
    }

输出结果依次为:

true
true
false
false
true

由以上结果可知,当为大于0的整数或者小数时,都返回为true。

3:用正则表达式判断是否为数字类型

示例如下:

public static void main(String[] args) {
        String reg = "^-?[0-9]+(.[0-9]+)?$";
        String s1 = "10000";
        String s2 = "100.43";
        String s3 = "-100";
        String s4 = "month";
        String s5 = "1023.89";
        System.out.println(s1.matches(reg));
        System.out.println(s2.matches(reg));
        System.out.println(s3.matches(reg));
        System.out.println(s4.matches(reg));
        System.out.println(s5.matches(reg));
    }

输出结果依次为:

true
true
true
false
true

综上,以上三种方法适合不同的场景。人生就要不断的学习,加油!美好的风景一直在路上!

总结

到此这篇关于如何使用java判断是不是数字的文章就介绍到这了,更多相关java判断是数字内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java解析pdf格式发票的代码实现

    Java解析pdf格式发票的代码实现

    为了减少用户工作量及误操作的可能性,需要实现用户上传PDF格式的发票,系统通过解析PDF文件获取发票内容,并直接将其写入表单,以下文章记录了功能实现的代码,需要的朋友可以参考下
    2024-08-08
  • Java 你知道什么是耦合、如何解(降低)耦合

    Java 你知道什么是耦合、如何解(降低)耦合

    这篇文章主要介绍了Java 你知道什么是耦合、如何解(降低)耦合的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • 基于ClasspathResource路径问题的解决

    基于ClasspathResource路径问题的解决

    这篇文章主要介绍了ClasspathResource路径问题的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Spring Boot教程之提高开发效率必备工具lombok

    Spring Boot教程之提高开发效率必备工具lombok

    这篇文章主要介绍了Spring Boot教程之提高开发效率必备工具lombok的相关资料,需要的朋友可以参考下
    2022-08-08
  • Java对象级别与类级别的同步锁synchronized语法示例

    Java对象级别与类级别的同步锁synchronized语法示例

    这篇文章主要为大家介绍了Java对象级别与类级别的同步锁synchronized语法示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-03-03
  • Java终止线程实例和stop()方法源码阅读

    Java终止线程实例和stop()方法源码阅读

    这篇文章主要介绍了Java终止线程实例和stop()方法源码阅读,具有一定借鉴价值,需要的朋友可以参考下
    2017-12-12
  • 使用Spring Data JDBC实现DDD聚合的示例代码

    使用Spring Data JDBC实现DDD聚合的示例代码

    这篇文章主要介绍了使用Spring Data JDBC实现DDD聚合的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • SpringBoot整合Thymeleaf与FreeMarker视图层技术

    SpringBoot整合Thymeleaf与FreeMarker视图层技术

    在目前的企业级应用开发中,前后端分离是趋势,但是视图层技术还占有一席之地。Spring Boot 对视图层技术提供了很好的支持,福安防推荐使用的模板引擎是Thymeleaf,不过想FreeMarker也支持,JSP技术在这里并不推荐使用
    2022-08-08
  • java设计模式之外观模式(Facade)

    java设计模式之外观模式(Facade)

    这篇文章主要为大家详细介绍了java设计模式之外观模式Facade的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • jvm调优的几种场景(小结)

    jvm调优的几种场景(小结)

    本文主要介绍了jvm调优的几种场景,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01

最新评论