public static boolean isInteger(Object val) {
return isNumeric(val) == INTEGER;
}
/**
* 判断是否数字
*
* @param val
* @return 不是数值:-1,整型:1,浮点:2
*/
public static int isNumeric(Object val) {
if (val == null){
return -1;
}
String s = val.toString().trim();
int size = s.length();
if (size== 0){
return -1;
}
int result = 0;
// 小数点
boolean doc = false;
for (int i = 0; i < s.length(); i++) {
char x = s.charAt(i);
// 负号
if (i > 0) {
if(x == '-' || x == '+'){
result = -1;
break;
}
}
// 不能出现两个小数点
if (x == '.') {
if (doc) {
result = -1;
break;
} else{
doc = true;
}
}
if (x != '.' && x != '+' & x != '-' && (x < '0' || x > '9')) {
result = -1;
break;
}
}
if (doc && result == 0){
// 浮点
return FLOAT;
}
else if (result == 0){
// 整型
return INTEGER;
}
else{
return result;
}
}
public static boolean isNumeric(String cs) {
if (cs == null || cs.length() == 0) {
return false;
}
int sz = cs.length();
for (int i = 0; i < sz; i++) {
if (Character.isDigit(cs.charAt(i)) == false) {
return false;
}
}
return true;
}