如何判断字符串是否是数字?
各位大虾,如何判断所输字符串是否是数字? 问题点数:10、回复次数:6Top
1 楼oldcat0076(jeff)回复于 2002-01-29 16:28:59 得分 2
String numStr;
...
for (int i=0;i<numStr.length();i++){
try{
parseInt(numStr.charAt(i));
}
catch(NumberFormatException e){
System.out.println("the #"+i+"# is not a num!");
break;
}
}
Top
2 楼bacchusboy2000(希腊酒神)回复于 2002-01-29 16:31:22 得分 8
在Java里要自己写
public boolean isNumericalString (String str){
str = str.toLowerCase();
String strTemp = str;
char c = str.charAt(0);
if (!(c=='+' || c=='-' || Character.isDigit(c)))
return false;
else if (c=='+' || c=='-') strTemp = str.substring(1);
int size = strTemp.length();
for (int i=0; i<size; i++){
char tempChar = strTemp.charAt(i);
if (!(Character.isDigit(tempChar)||tempChar=='.'||tempChar =='e')) return false;
else {
if(tempChar=='.') {
if (i==0 || i==size-1) return false;
}
if(tempChar=='e'){
tempChar = str.charAt(i+1);
if (!(tempChar=='+' || tempChar=='-' || Character.isDigit(tempChar))) return false;
else {
if (tempChar=='+' || tempChar=='-'){
strTemp = str.substring(i+2);
}else {
strTemp = str.substring(i+1);
}
}
for (int ii=0; ii<strTemp.length(); ii++){
tempChar = strTemp.charAt(ii);
if (!Character.isDigit(tempChar)) return false;
}
return true;
}
}
}
return true;
}Top
3 楼oldcat0076(jeff)回复于 2002-01-29 16:33:17 得分 0
String numStr;
...
for (int i=0;i<numStr.length();i++){
try{
new Integer(numStr.substring(i,i));
}
catch(NumberFormatException e){
System.out.println("the #"+i+"# is not a num!");
break;
}
}
Top
4 楼huihui3000(xianhui)回复于 2002-01-29 16:41:24 得分 0
CharacterTop
5 楼rhj_2001(浩)回复于 2002-01-29 16:43:27 得分 0
也可以这样!呵呵
String numStr;
...
for (int i=0;i<numStr.length();i++){
if(numStr.charAt(i)>47&&numStr.charAt(i)<58){
}else{
System.out.println("这不是一个数字!");
break;
}
}
}Top
6 楼bacchusboy2000(希腊酒神)回复于 2002-01-30 10:03:22 得分 0
shy呀....hohoTop




