【发布时间】:2011-10-02 09:47:08
【问题描述】:
我有一个从公式生成的字符串,但是我只想使用该字符串,只要它的所有字符都是数字,如果不是我想做一些不同的事情,例如显示错误消息。
我一直在环顾四周,但发现很难找到任何符合我想做的事情的东西。我看过 NSScanner 但我不确定它是否检查整个字符串然后我实际上不确定如何检查这些字符是否为数字
- (void)isNumeric:(NSString *)code{
NSScanner *ns = [NSScanner scannerWithString:code];
if ( [ns scanFloat:NULL] ) //what can I use instead of NULL?
{
NSLog(@"INSIDE IF");
}
else {
NSLog(@"OUTSIDE IF");
}
}
所以经过几个小时的搜索后,我偶然发现了一个完全符合我要求的实现。
所以如果你想检查它们是否是你的 NSString 中的任何字母数字字符,这在这里有效
-(bool) isNumeric:(NSString*) hexText
{
NSNumberFormatter* numberFormatter = [[[NSNumberFormatter alloc] init] autorelease];
NSNumber* number = [numberFormatter numberFromString:hexText];
if (number != nil) {
NSLog(@"%@ is numeric", hexText);
//do some stuff here
return true;
}
NSLog(@"%@ is not numeric", hexText);
//or do some more stuff here
return false;
}
希望这会有所帮助。
【问题讨论】:
-
如果有人感兴趣,我创建了一个要点,其中包含此处在 NSString 类别中提供的一些解决方案 -- NSString+isNumeric
标签: iphone ios nsstring numeric