判斷字符串是否是純數字的方法總結
//第一種方式是使用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]; } //(利用1. 整形判斷 2.浮點形判斷 )判斷是否是純數字 +(BOOL)stringIsNumbers:(NSString *)string{ if( ![Tools isPureInt:string] && ![Tools isPureFloat:string]) { return NO; }else { return YES; } } //第二種方式是使用循環判斷 - (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; } //用正則表達式判斷 - (BOOL) deptNumInputShouldNumber:(NSString *)str { NSString *regex = @"[0-9]*"; NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex]; if ([pred evaluateWithObject:str]) { return YES; } return NO; }