校验数字的三种方式
判断数字的三种方式
方式一:使用Character.isDigit
- public static boolean isNumeric(String str){
- if(str == null){
- return false;
- }
- for (int i = str.length();--i>=0;){
- if (!Character.isDigit(str.charAt(i))){
- return false;
- }
- }
- return true;
- }
方式二:(不推荐使用)
- public static boolean isValidInt(String value) {
- try {
- Integer.parseInt(value);
- } catch (NumberFormatException e) {
- return false;
- }
- return true;
- }
- /**
- * @param if the value is between -9223372036854775808 and
- * 9223372036854775807, then return true
- * @return
- */
- public static boolean isValidLong(String value) {
- try {
- Long.parseLong(value);
- } catch (NumberFormatException e) {
- return false;
- }
- return true;
- }
方式三:通过正则表达式(推荐使用)
- /***
- * 判断 String 是否是 int<br>通过正则表达式判断
- *
- * @param input
- * @return
- */
- public static boolean isInteger(String input){
- Matcher mer = Pattern.compile("^[+-]?[0-9]+$").matcher(input);
- return mer.find();
- }
- public static boolean isDouble(String input){
- Matcher mer = Pattern.compile("^[+-]?[0-9.]+$").matcher(input);
- return mer.find();
- }