ios 判斷textFiled中輸入的字符是否是數字

//使用NSScanner類, 
[self isPureInt:textFiledLabel.text]   //傳入textFiledLabel獲取的輸入字符串並調用方法判斷

- (BOOL)isPureInt:(NSString*)string{
    NSScanner* scan = [NSScanner scannerWithString:string]; //定義一個NSScanner,掃描string
    int val;
    return[scan scanInt:&val] && [scan isAtEnd];
}
//[scan scanInt:&val] 
//掃描的Int類型放入val
//根據NSScanner的機制,若是掃描到結果須要的數據,那麼它就會停在數據結尾的下一個字符處
//例如:string = @"12ccf12";若是掃描Int類型,那麼第一次掃描到第二個字符處就中止了,若是要掃描所有須要進行循環判斷
//掃描結束後,沒有到string的結尾,那麼[scan isAtEnd]爲NO
//因此
//[scan isAtEnd] 
 //判斷是否到結尾
//這樣就能保證一遍掃描到結尾的數據所有是int,[scan scanInt:&val] 和[scan isAtEnd]都爲YES;
//結果isPureInt 返回YES;
//相似其餘的判斷也能夠參考NSScanner
相關文章
相關標籤/搜索