请问java有isNumber函数吗?用于判断一个数是否为一个数字的。如一个程序的其中一段代码:
/**
*<br>方法说明:检查日期格式是否正确
*<br>输入参数:String sPara。要检查的日期字符
*<br>返回类型:int。0 日期格式正确,-1 月或这日不合要求, -2 年月日格式不正确
*/
public int chickData(String sPara){
boolean bTemp = false;
//所输入日期长度不正确
if(sPara.length()!=10) return -2;
//获取年
String sYear = sPara.substring(0,4);
//判断年是否为数字
if(!isNumber(sYear)) return -2;
//获取月份
String sMonth = sPara.substring(5,7);
//判断月份是否为数字
if(!isNumber(sMonth)) return -2;
//获取日
String sDay = sPara.substring(8,10);
//判断日是否为数字
if(!isNumber(sDay)) return -2;
//将年、月、日转换为数字
int iYear = Integer.parseInt(sYear);
int iMon = Integer.parseInt(sMonth);
int iDay = Integer.parseInt(sDay);
if(iMon>12) return -1;
//闰年二月处理
if(iMon==2&&chickDay(iYear)){
if(iDay>29) return 2;
}else{
if(iDay>iMonth[iMon-1]) return -1;
}
return 0;
}
/**
*<br>方法说明:检查日期格式是否正确
*<br>输入参数:String sPara。要检查的日期字符
*<br>返回类型:int。0 日期格式正确,-1 月或这日不合要求, -2 年月日格式不正确
*/
public int chickData(String sPara){
boolean bTemp = false;
//所输入日期长度不正确
if(sPara.length()!=10) return -2;
//获取年
String sYear = sPara.substring(0,4);
//判断年是否为数字
if(!isNumber(sYear)) return -2;
//获取月份
String sMonth = sPara.substring(5,7);
//判断月份是否为数字
if(!isNumber(sMonth)) return -2;
//获取日
String sDay = sPara.substring(8,10);
//判断日是否为数字
if(!isNumber(sDay)) return -2;
//将年、月、日转换为数字
int iYear = Integer.parseInt(sYear);
int iMon = Integer.parseInt(sMonth);
int iDay = Integer.parseInt(sDay);
if(iMon>12) return -1;
//闰年二月处理
if(iMon==2&&chickDay(iYear)){
if(iDay>29) return 2;
}else{
if(iDay>iMonth[iMon-1]) return -1;
}
return 0;
}
int testnumber = Integer.parseInt(StringValue);
}
catch (NumberFormatException e) {
return false;
}return true;
String year = "2007";
System.out.println(year.matches("\\d{4}"));
String month = "06";
System.out.println(month.matches("\\d{2}"));
String day = "26";
System.out.println(day.matches("\\d{2}"));
}
原文如下:
/**
*<br>方法说明:判断是否是数字
*<br>输入参数:String sPara。 需要判断的字符串
*<br>返回类型:boolean。如果都是数字类型,返回true;否则返回false
*/
public boolean isNumber(String sPara){
int iPLength = sPara.length();
for(int i=0;i<iPLength;i++){
char cTemp = sPara.charAt(i);
boolean bTemp = false;
for(int j=0;j<cNum.length;j++){
if(cTemp==cNum[j]){
bTemp = true;
break;
}
}
if(!bTemp) return false;
}
return true;
}