前言
在大家開發項目的時候,遇到需求可能是讓我們只輸入一段純數字,這時候我們就要對這個字符串進行篩選判斷,不符合純數字進行提示操作,以求達到最好的交互效果也能滿足需求。
下面介紹幾種判斷字符串是否為純數字的方法
第一種方式是使用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中沒有直接判斷是否是數字的方法,所以只能夠自己添加方法去實現了.希望這篇文章總結的幾種方法能夠幫助到大家,如果有疑問可以留言交流。