java中判断字符串是否为数字的方法的几种方法

来源:互联网 发布:资本流入本币升值知乎 编辑:程序博客网 时间:2024/05/16 04:23

ava中判断字符串是否为数字的方法:

1.用JAVA自带的函数
public static boolean isNumeric(String str){
  for (int i = 0; i < str.length(); i++){
   System.out.println(str.charAt(i));
   if (!Character.isDigit(str.charAt(i))){
    return false;
   }
  }
  return true;
}

2.用正则表达式
首先要import java.util.regex.Pattern 和 java.util.regex.Matcher
public boolean isNumeric(String str){
   Pattern pattern = Pattern.compile("[0-9]*");
   Matcher isNum = pattern.matcher(str);
   if( !isNum.matches() ){
       return false;
   }
   return true;
}

3.使用org.apache.commons.lang
org.apache.commons.lang.StringUtils;
boolean isNunicodeDigits=StringUtils.isNumeric("aaa123456789");
http://jakarta.apache.org/commons/lang/api-release/index.html下面的解释:
isNumeric
public static boolean isNumeric(String str)Checks if the String contains only unicode digits. A decimal point is not a unicode digit and returns false.
null will return false. An empty String ("") will return true.
StringUtils.isNumeric(null)   = false
StringUtils.isNumeric("")     = true
StringUtils.isNumeric("  ")   = false
StringUtils.isNumeric("123")  = true
StringUtils.isNumeric("12 3") = false
StringUtils.isNumeric("ab2c") = false
StringUtils.isNumeric("12-3") = false
StringUtils.isNumeric("12.3") = false

Parameters:
str - the String to check, may be null
Returns:
true if only contains digits, and is non-null

上面三种方式中,第二种方式比较灵活。

第一、三种方式只能校验不含负号“-”的数字,即输入一个负数-199,输出结果将是false;

而第二方式则可以通过修改正则表达式实现校验负数,将正则表达式修改为“^-?[0-9]+”即可,修改为“-?[0-9]+.?[0-9]+”即可匹配所有数字。
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 校讯通 您身边的教育专家 河南校讯通您身边的教育专家 校讯通您身边的教育专家登录 校讯通-您身边的教育专家 家校圈 xxt 世纪伟业校讯通 中国移动校讯通 河北移动校讯通 河北移动校讯通首页 怎样开通校讯通 同步课堂校讯通 如何加入校讯通 怎么取消校讯通 如何办理校讯通 怎样取消校讯通 如何开通校讯通 移动公司校讯通 首页移动校讯通 如何取消校讯通业务 如何退出校讯通 怎么退订校讯通 怎样登陆校讯通 如何下载校讯通 如何登陆校讯通 三星移动校讯通 江苏和教育校讯通 网上家长学校校讯通 移动如何取消校讯通 下载和教育校讯通 校内网上不去了 北语校内网 浙大校内网 龙岩学院校内网 河科大校内网 湘南学院校内网 南师大校内网 辽宁医学院校内网 哈工大威海校内信息网 贺州学院校内网网址 南京大学校内网