通常有后台请求返回的数据,解析后会有字符串,也可能有数字或bool,我们用模型接收的时候,可能类型不匹配,比如解析得到@”123.456”但我们需要的是@123.456,这就需要转化类型。
1、 NSString 转 NSNumber
NSString *str = @"120";
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber *numTemp = [numberFormatter numberFromString:str];
或者
NSString *str = @"321.32";
// 字符串先转成float型,再转对象
NSNumber *nums = @([str floatValue]);
2、 NSNumber 转 NSString
NSNumber *num = [NSNumber numberWithInt:2] ;
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
NSString* str = [numberFormatter stringFromNumber:num];