第一種方式是使用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
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;
}
以上三種能夠幫助實(shí)現(xiàn)判斷是否為數(shù)字的函數(shù),iOS中沒有直接判斷是否是數(shù)字的方法,所以只能夠自己添加方法去實(shí)現(xiàn)了.