如何检查字符是否在目标C中?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (16)

我需要检查一下一个字符是否是数字。

NSString *strTest=@"Test55";
char c =[strTest characterAtIndex:4];

我需要弄清楚c是否是数字。我如何在目标C中实现这个检查?

提问于
用户回答回答于

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

此外,还可以手动检查它:

if(c>='0' && c<='9')
{
  //c is digit
}
用户回答回答于

*返回值characterAtIndex:不是char,但是unichar。所以像这样的演员可能很危险.

另一种做法是:

NSString *strTest = @"Test55";
unichar c = [strTest characterAtIndex:4];
NSCharacterSet *numericSet = [NSCharacterSet decimalDigitCharacterSet];
if ([numericSet characterIsMember:c]) {
    NSLog(@"Congrats, it is a number...");
}

扫码关注云+社区