NSString到NSNumber

And*_*rew 20 iphone int objective-c nsnumber nsstring

所以这个问题让我感到困惑太久了.我有UIAlertView一个textField在里面,而我需要的价值textFieldNSNumber.但我尝试的一切都给了我随机的数字串.任何帮助将非常感谢.

int i = [[alertView textFieldAtIndex:0].text intValue];
NSNumber *number = [NSNumber numberWithInt:[[alertView textFieldAtIndex:0].text integerValue]];    


int number = [[dict objectForKey:@"integer"] intValue];

NSLog(@"text = %@", [alertView textFieldAtIndex:0].text);


NSString *alertText = [alertView textFieldAtIndex:0].text;

NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterNoStyle];
NSNumber * myNumber = [f numberFromString:[alertView textFieldAtIndex:0].text];


NSNumber *number = @([alertText intValue]);

NSString *string = @"54";
NSNumber *number = @([string intValue]);

NSLog(@"here we are: %i", number);
Run Code Online (Sandbox Code Playgroud)

Bal*_*alu 50

一旦看到这一个,

NSString *string = @"123";
NSNumber  *aNum = [NSNumber numberWithInteger: [string integerValue]];
NSLog(@"%@",aNum);//NSString to NSNumber
NSInteger number=[string intValue];
NSLog(@"%i",number);//NSString to NSInteger
Run Code Online (Sandbox Code Playgroud)


bpo*_*lat 7

NSString *string = @"54";
NSNumber *number = @([string intValue]);
NSLog(@"here we are: %i", number);
Run Code Online (Sandbox Code Playgroud)

而是尝试使用以下内容:

NSLog(@"here we are: %@", number);
Run Code Online (Sandbox Code Playgroud)

因为您正在转换为NSNumber(对象).您应该在NSLog语句中使用对象说明符%@.