Как проверить, является ли символ char цифрой или нет в Objective-C?
Мне нужно проверить, является ли символ char цифрой или нет.
NSString *[email protected]"Test55";
char c =[strTest characterAtIndex:4];
Мне нужно выяснить, является ли "c" цифрой или нет. Как выполнить эту проверку в Objective-C?
Ответ 1
В стандарте C существует функция int isdigit( int ch );, определенная в "ctype.h". Он будет возвращать ненулевой (TRUE), если ch - это цифра.
Также вы можете проверить его вручную:
if(c>='0' && c<='9')
{
//c is digit
}
Ответ 2
Примечание. Возвращаемое значение для characterAtIndex: не является char, а a unichar. Так что кастинг, подобный этому, может быть опасным...
Альтернативный код:
NSString *strTest = @"Test55";
unichar c = [strTest characterAtIndex:4];
NSCharacterSet *numericSet = [NSCharacterSet decimalDigitCharacterSet];
if ([numericSet characterIsMember:c]) {
NSLog(@"Congrats, it is a number...");
}