0
在iTunes商店搜索時,我碰到了一個小問題。當價格爲0.00時,我試圖將標籤的文字更改爲「免費」,而不是顯示價格。問題是,我的兩個NSDecimalNumber
的比較失敗。這是我目前的位置。iTunes搜索API,查找免費價格
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[formatter setCurrencyCode:self.searchResult.currency];
NSString *price = [formatter stringFromNumber:self.searchResult.price];
NSDecimalNumber *free = [[NSDecimalNumber alloc] initWithFloat:0.00f];
NSLog(@"Price:%@",price);
NSLog(@"Free:%@",free);
NSLog(@"self.searchResult.price: %@", self.searchResult.price);
if (self.searchResult.price == free) {
NSString *freeText = [NSString stringWithFormat:@"FREE"];
self.priceLabel.text = freeText;
}
else {
self.priceLabel.text = price;
}
NSLog(@"priceLabel:%@", self.priceLabel.text);
什麼是真正奇怪的是,即使控制檯說,無論free
和del.searchResult.price
是相同的:
2012-11-24 20:01:16.178 StoreSearch[1987:c07] Price:$0.00
2012-11-24 20:01:16.178 StoreSearch[1987:c07] Free:0
2012-11-24 20:01:16.178 StoreSearch[1987:c07] self.searchResult.price: 0
2012-11-24 20:01:16.179 StoreSearch[1987:c07] priceLabel:$0.00
我這個有點困惑坦白。任何幫助,將不勝感激。如果你能解釋爲什麼會發生這種事情,以便我可以學會不再做,那麼我會更感激!
的問候,
邁克
完美!我知道我錯過了一些東西。多麼愚蠢的錯誤。仍然在努力讓我的'C'日子落後於我。再次感謝。 – Mackey18