在NSString中找到数字转换成int

Question:

I have an NSString like so:

@"200hello" 

or

@"0 something" 

What I would like to be able to do is take the first occuring number in the NSString and convert it into an int.

So that @"200hello" would become int = 200.

and @"0 something" would become int = 0.

Answer1:

int value; 
BOOL success =[[NSScanner scannerWithString:@"1000safkaj"] scanInteger:&value]; 

If the number is not always at the beginning:

NSCharacterSet* nonDigits =[[NSCharacterSet decimalDigitCharacterSet] invertedSet]; 
int value =[[@"adfsdg1000safkaj" stringByTrimmingCharactersInSet:nonDigits] intValue]; 

Answer2:

If the int value is always at the beginning of the string, you can simply use intValue.

NSString*string=@"123hello"; 
int myInt =[string intValue]; 

posted on 2012-04-17 15:26  爱直至成伤lie  阅读(1755)  评论(0编辑  收藏  举报