我有一个应用程序使用ObjectiveResource并且有一个包含NSNumber属性的类。我想格式化的NSNumber值作为整数,有下面的代码:ObjectiveResource和破损的NSNumberFormatter
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterCurrencyStyle];
NSLog(@"Price: %@", [formatter stringFromNumber:self.item.price])
NSLog(@"Price: %@", [formatter stringFromNumber:[NSNumber numberWithDouble:[self.item.price doubleValue]]]);
[formatter release];
,输出:
2010-07-15 19:33:45.371 样品[4193:207]酒精度:(空)
2010-07-15 19:33:45.453 样品[4193:207]酒精:$ 13.50
我不知道为什么第一个项目输出(空),尚第二工作正常。我宁愿使用第一个语法,而不必重新创建一个NSNumber。
'price'是否声明为'NSNumber *'?什么是只是'NSLog(@“%@”,self.item.price)的结果;'? – warrenm 2010-07-15 23:50:55
@ warrenm价格是NSNumber *,NSLog(@“%@”,self.item.price)的结果是13.5。 – 2010-07-16 00:02:27
第一行适用于我的简短测试,所以看起来罪魁祸首可能会超出NSNumberFormatter。您是否尝试通过KVO注册“价格”更改?其父对象是否被同时更新? – warrenm 2010-07-16 01:54:38