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

编程知识 更新时间:2023-04-06 16:55:45

可以利用正则表达式来“-?[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 = Patternpile("-?[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使用正则表达式判断传入数据是否为数字

本文发布于:2023-04-06 16:55:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/c1ee089c45ee0fd108a7d5d8d442b675.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数字   正则表达式   判断是否   数据   java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 50010文章数
  • 14阅读数
  • 0评论数