前言
在大家開發(fā)項目的時候,遇到需求可能是讓我們只輸入一段純數(shù)字,這時候我們就要對這個字符串進(jìn)行篩選判斷,不符合純數(shù)字進(jìn)行提示操作,以求達(dá)到最好的交互效果也能滿足需求。
下面介紹幾種判斷字符串是否為純數(shù)字的方法
第一種方式是使用NSScanner:
1. 整形判斷
- (BOOL)isPureInt:(NSString *)string{NSScanner* scan = [NSScanner scannerWithString:string]; int val; return [scan scanInt:&val] && [scan isAtEnd];}
2.浮點(diǎn)形判斷:
- (BOOL)isPureFloat:(NSString *)string{NSScanner* scan = [NSScanner scannerWithString:string]; float val; return [scan scanFloat:&val] && [scan isAtEnd];}
第二種方式是使用循環(huán)判斷
- (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;}
總結(jié)
以上就是為大家總結(jié)的三種能夠幫助實(shí)現(xiàn)判斷字符串是否為數(shù)字的函數(shù),iOS中沒有直接判斷是否是數(shù)字的方法,所以只能夠自己添加方法去實(shí)現(xiàn)了.希望這篇文章總結(jié)的幾種方法能夠幫助到大家,如果有疑問可以留言交流。
新聞熱點(diǎn)
疑難解答
圖片精選