zoukankan      html  css  js  c++  java
  • java 判断字符串是否是整数(纯数字:正整数、负整数、0)、至少包含一位小数、数字(可以是整数或小数)

    1.情景展示

      一共有三种需求:

      第一种:判断字符串是否是数字字符串(可以是正整数、0、负整数或者小数);

      第二种:判断字符串是否是纯数字,也就说我们数学上的整数(可以是正整数、0、负整数,不包含小数位);

      第三种:判断字符串是否是小数,小数点左边必须是整数(只有一个小数点,小数点左边是整数,右边至少包含一位数[0-9])。

    2.准备工作

    /*
     * 校验是否为空(null && "")
     * @date: 2020年08月26日 0026 10:21
     * @param: s 待校验字符串
     * @return: boolean 校验结果
     */
    public static boolean isEmpty(String s) {
        if (s == null || "".equals(s)) {
            return true;
        }
        return false;
    }

    3.解决方案

      判断字符串是否是数字字符串

    /*
     * 数字校验
     * @attention: 可以是整数,也可以是小数
     * @date: 2020年11月12日 0012 10:45
     * @param: number 整数、小数
     * @return: boolean true-可能是整数,也可能是小数,false-既不是整数也不是小数
     */
    public static boolean isNumber(String number) {
        // 非空校验
        if (StringUtils.isEmpty(number)) return false;
    
        // 数字校验(可以包含小数,可以是1,0,-1,1.1,-1.1,不能是+1.1,+1)
        Pattern pattern = Pattern.compile("^-?\d+(\.\d+)?$");
        // 这个支持+1.1,+1
        // Pattern pattern = Pattern.compile("[+-]?[0-9]+(\\.[0-9]+)?");
        if (!pattern.matcher(number).matches()) return false;
    
        return true;
    }
    

      判断字符串是否是纯数字(整数)

    /*
     * 整数校验
     * @attention: 不包含小数位
     * @date: 2020年11月12日 0012 10:45
     * @param: number
     * @return: boolean
     */
    public static boolean isWholeNumber(String wholeNumber) {
        // 非空校验
        if (StringUtils.isEmpty(wholeNumber)) return false;
    
        // 整数校验(可以是+1,1,0,-1)
        Pattern pattern = Pattern.compile("[+-]?[0-9]+?");
        if (!pattern.matcher(wholeNumber).matches()) return false;
    
        return true;
    }
    

      判断字符串是否是小数

    /*
     * 小数校验(至少包含一位小数)
     * @attention: 不是小数,但也不能证明是整数(比如:1..2和1.2.1)
     * @date: 2020年11月12日 0012 10:51
     * @param: decimal  小数
     * @return: boolean true-至少包含一位小数,false-肯定不是小数,可能不是整数
     */
    public static boolean isDecimal(String decimal) {
        // 非空校验
        if (StringUtils.isEmpty(decimal)) return false;
    
        // 小数校验(可以是+1.2,1.2,-1.2)
        Pattern pattern = Pattern.compile("[+-]?[0-9]+\.([0-9]+)?");
        if (!pattern.matcher(decimal).matches()) return false;
    
        return true;
    }
    

    写在最后

      哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

     相关推荐:

  • 相关阅读:
    poj_2417 (baby_step,giant_step算法)
    多校第4场1012
    欧拉回路小结:hihocoder49,50,51
    xor问题的小结(HDU_5269 && HDU_5270 && NEU_1600)
    2015年大连邀请赛F题
    字符串处理——Tire树__LA3942
    15陕西省赛——数学题——n维空间切d刀共能分成多少份???
    ACM荣耀之路;
    选课时间!
    二叉树模板!
  • 原文地址:https://www.cnblogs.com/Marydon20170307/p/13963160.html
Copyright © 2011-2022 走看看