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