如何在Objective-C中检查char是否为数字?

sya*_*yam 17 objective-c

我需要检查char是否为数字.

NSString *strTest=@"Test55";
char c =[strTest characterAtIndex:4];
Run Code Online (Sandbox Code Playgroud)

我需要找出'c'是否是数字.如何在Objective-C中实现此检查?

Lau*_*ble 31

注意:返回值characterAtIndex:不是a 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...");
}
Run Code Online (Sandbox Code Playgroud)


wer*_*dle 22

在标准C中,有一个int isdigit( int ch );在"ctype.h"中定义的函数.如果ch是一个数字,它将返回非零(TRUE).

您也可以手动检查:

if(c>='0' && c<='9')
{
  //c is digit
}
Run Code Online (Sandbox Code Playgroud)

  • 如果它们是日语数字'零' - '九'怎么办? (3认同)