У меня есть строка, которая генерируется из формулы, однако я хочу использовать эту строку только до тех пор, пока все ее символы являются числовыми, если не то, что я хочу сделать что-то другое, например, отобразить сообщение об ошибке.
Я огляделся, но мне трудно найти что-то, что работает в соответствии с тем, что я хочу сделать. Я просмотрел 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;
}
надеюсь это поможет.