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

互联网 19-11-21

可以利用正则表达式来“-?[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 = Pattern.compile("-?[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使用正则表达式判断传入数据是否为数字的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 数字
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:java工程师面试——volatile关键字

相关资讯