我有一個應用程序使用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