前言
在大家開發項目的時候,遇到需求可能是讓我們只輸入一段純數字,這時候我們就要對這個字串進行篩選判斷,不符合純數字進行提示操作,以求達到最好的互動效果也能滿足需求。
下面介紹幾種判斷字串是否為純數位方法
第一種方式是使用NSScanner:
1. 整形判斷
- (BOOL)isPureInt:(NSString *)string{NSScanner* scan = [NSScanner scannerWithString:string]; int val; return [scan scanInt:&val] && [scan isAtEnd];}
2.浮點形判斷:
- (BOOL)isPureFloat:(NSString *)string{NSScanner* scan = [NSScanner scannerWithString:string]; float val; return [scan scanFloat:&val] && [scan isAtEnd];}
第二種方式是使用迴圈判斷
- (BOOL)isPureNumandCharacters:(NSString *)text { for(int i = 0; i < [text length]; ++i) { int a = [text characterAtIndex:i]; if ([self isNum:a]){ continue; } else { return NO; } } return YES; }
或者 C語言中常用的方式.
- (BOOL)isAllNum:(NSString *)string{ unichar c; for (int i=0; i<string.length; i++) { c=[string characterAtIndex:i]; if (!isdigit(c)) { return NO; } } return YES;}
第三種方式則是使用NSString的trimming方法
- (BOOL)isPureNumandCharacters:(NSString *)string { string = [string stringByTrimmingCharactersInSet;[NSCharacterSet decimalDigitCharacterSet]];if(string.length > 0) { return NO;} return YES;}
總結
以上就是為大家總結的三種能夠協助實現判斷字串是否為數位函數,iOS中沒有直接判斷是否是數位方法,所以只能夠自己添加方法去實現了.希望這篇文章總結的幾種方法能夠協助到大家,如果有疑問可以留言交流。