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; }
本文来自博客园,作者:Marydon,转载请注明原文链接:https://www.cnblogs.com/Marydon20170307/p/13963160.html