将NsNumber转换为nsString时的Objective C错误

时间:2012-06-07 13:37:12

标签: objective-c cocoa

NSNumber *abc = [[NSNumber alloc] initWithInt:123];
NSString *number = [NSString stringWithFormat:@"%d", abc];

number的结果是31619!如何解决?

2 个答案:

答案 0 :(得分:4)

你必须返回一个intValue:

NSNumber *abc = [[NSNumber alloc] initWithInt:123];
NSString *number = [NSString stringWithFormat:@"%i", [abc intValue]];

答案 1 :(得分:4)

这不是一个客观的C bug,你使用了错误的说明符 -

使用 -

NSString *number = [NSString stringWithFormat:@"%@", abc];