1、定义的函数: isNumeric(String) 是判断数字的,包括小数 支持格式: "33" "+33" "033.30" "-.33" ".33" " 33." " 000.000 " isInteger(String) 仅是用来判断整数的 支持格式: "33" "003300" "+33" " -0000 " 上面两函数分别各有两种方法可以实现 一、一个个字符判断下去(效率高些) 下面的 iisNumeric(String)、isInteger(String) 二、利用异常:用Integer.parseInt(str),Double.parseDouble(str)
2、解析字符串,若非数字则抛出异常
下面的 isNumericEx(String)、isIntegerEx(String)--其中isIntegerEx(String)最多支持到十位
package hartech;
/**
* @author
* @version 1.0
*/
public class JMath {
/**
* support Numeric format:
* "33" "+33" "033.30" "-.33" ".33" " 33." " 000.000 "
* @p
3、aram str String * @return boolean */ public static boolean isNumeric(String str) { int begin = 0; boolean once = true; if (str == null || str.trim().equals("")) { return false; } str = str.trim(); if (str
4、startsWith("+") || str.startsWith("-")) { if (str.length() == 1) { // "+" "-" return false; } begin = 1; } for (int i = begin; i < str.length(); i++) { if (!Character.isDigit(str.charAt(i
5、))) { if (str.charAt(i) == '.' && once) { // '.' can only once once = false; } else { return false; } } } if (str.length() == (b
6、egin + 1) && !once) {
// "." "+." "-."
return false;
}
return true;
}
/**
* support Integer format:
* "33" "003300" "+33" " -0000 "
* @param str String
* @return boolean
*/
public static boo
7、lean isInteger(String str) { int begin = 0; if (str == null || str.trim().equals("")) { return false; } str = str.trim(); if (str.startsWith("+") || str.startsWith("-")) { if (str.length() == 1) { // "+"
8、"-" return false; } begin = 1; } for (int i = begin; i < str.length(); i++) { if (!Character.isDigit(str.charAt(i))) { return false; } } return true; } /*
9、
* use Exception
* support Numeric format:
* "33" "+33" "033.30" "-.33" ".33" " 33." " 000.000 "
* @param str String
* @return boolean
*/
public static boolean isNumericEx(String str) {
try {
Double.parseDouble(str);
10、
return true;
}
catch (NumberFormatException ex) {
return false;
}
}
/**
* use Exception
* support less than 11 digits(<11)
* support Integer format:
* "33" "003300" "+33" " -0000 " "+ 000"
11、 * @param str String * @return boolean */ public static boolean isIntegerEx(String str) { str = str.trim(); try { Integer.parseInt(str); return true; } catch (NumberFormatException ex) { if
12、str.startsWith("+")) { return isIntegerEx(str.substring(1)); } return false; } } } ------------------------------------正则表达式判断法------------------------------ //判断是否是整数 public static boolean isNumeric(String s) { if((s != null)
13、s!="")) return s.matches("^[0-9]*$"); else return false; } //判断传递来的是否是数字 public static int checkID(String s) { if((s == null)||(s.length() == 0)||!s.matches("^[0-9]*$")) { return 0; } else { if(s.length() < 10) { return Integer.parseInt(s); } else { return 0; } } } //判断传递来的是否是字符串 public static String checkString(String s) { if((s == null)||(s.length() == 0)||s.matches("^[0-9]*$")) { return ""; } else { return s; } }






