Iphone NSNumber+;实数(例如50)=不可能?
我有一个NSNumber,它是从这样的字符串中提取的Iphone NSNumber+;实数(例如50)=不可能?,iphone,Iphone,我有一个NSNumber,它是从这样的字符串中提取的 NSNumberFormatter *f = [[NSNumberFormatter alloc]init]; [f setNumberStyle:NSNumberFormatterDecimalStyle]; BRNumber = [f numberFromString:BRString]; 当然,这会返回一个值,但现在我希望执行如下操作 id y = BRNumber + 50; 这似乎是不可能的。那么我应该怎么做呢?在进行计算之
NSNumberFormatter *f = [[NSNumberFormatter alloc]init];
[f setNumberStyle:NSNumberFormatterDecimalStyle];
BRNumber = [f numberFromString:BRString];
当然,这会返回一个值,但现在我希望执行如下操作
id y = BRNumber + 50;
这似乎是不可能的。那么我应该怎么做呢?在进行计算之前,您需要获取原始整数,然后将其包装回NSNumber
NSNumber* y = [NSNumber numberWithInt:[BRNumber intValue] + 50];
如果您经常这样做,您可以创建一个类别:
@implementation NSNumber (Arithmetics)
-(NSNumber*)numberByAddingInt:(int)val {
return [NSNumber numberWithInt:[self intValue] + val];
}
@end
那你可以用
NSNumber* y = [BRNumber numberByAddingInt:50];
因为ObjC没有运算符重载,所以没有更短的方法。好的,太好了!成功了。非常感谢。我只能在9分钟内接受你的回答。