判斷字符串是否為格式正確的數字的方法


基本思想是排除法,排除所有不滿足條件的,那么剩下的就是滿足條件的!
//判斷字符串是否為格式正確的數字的方法
public boolean isValidNumber(String text){
String str = text.trim();//將字符串前后的空白字符忽略不計,統統去掉
if(
("-123456789".contains(str.charAt(0)+"")||str.equals("0")||
str.startsWith("0.")||str.startsWith("-0."))==false
)return false;
if(str.lastIndexOf("-")>0)return false;
if(str.lastIndexOf(".")!=str.indexOf("."))return false;
if(str.length()>0)
if("0123456789".contains(str.charAt(str.length()-1)+"")==false)return false;
for(int i=1;i<str.length()-1;i++){
//因為上面的語句已經對第一個和最后一個字符做了判斷
//而i不必從0開始是因為此處不可能發生字符串索引越界!即使在字符串只包含一個字符的時候
//因為for循環是先判斷循環條件然后才執行,並且循環條件i<str.length()-1保證i不會越界!
if("-.0123456789".contains(str.charAt(i)+"")==false)
return false;
}
return true;
}


//判斷字符串是否為格式正確的數字的方法
public boolean isValidNumber(String text){
String
str = text.trim();//將字符串前后的空白字符忽略不計,統統去掉
if(
(
"-123456789".contains(str.charAt(0)+"")||str.equals("0")||
str.startsWith("0.")||str.startsWith("-0."))==false
)return false;//保證合適的開頭

if(str.lastIndexOf("-")>0)return false;//如有負號,負號只能在最前面
if(str.lastIndexOf(".")!=str.indexOf("."))return false;//小數點最多出現一次
if(str.length()>0)
if("0123456789".contains(str.charAt(str.length()-1)+"")==false)return false;//保證合適的結尾
    for(int i=1;i<str.length()-1;i++){
//因為上面的語句已經對第一個和最后一個字符做了判斷
//i不必從0開始是因為此處不可能發生字符串索引越界!即使在字符串只包含一個字符的時候
//因為for循環是先判斷循環條件然后才執行,並且循環條件i<str.length()-1保證i不會越界!
if("-.0123456789".contains(str.charAt(i)+"")==false)
return false;
}
return true;
}

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com