我使用NSNumberFormatter和NSNumberFormatterCurrencyStyle在我的通用iOS應用程序中顯示應用程序購買價格。我的位置是印度,格式化程序在我測試的大多數設備(ipad模擬器,ipad 3設備,iphone 3gs設備,iphone 4設備)中正確顯示印度盧比符號。但是,只有在ipad第一代(運行iOS 5.1.1)時,它會顯示一個正方形而不是盧比符號。NSNumberFormatter只在ipad設備上不顯示盧比符號
所有設備都運行它們支持的最新ios(ipad 3,iphone 4和iphone 3gs上的iOS 6.0.1; iPad 1上的iOS 5.1.1)。
我們使用格式化貨幣的功能是:
@implementation SKProduct (LocalizedPrice)
- (NSString *)localizedPrice
{
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[numberFormatter setLocale:self.priceLocale];
NSString *formattedString = [numberFormatter stringFromNumber:self.price];
[numberFormatter release];
return formattedString;
}
@end
UPDATE1:這似乎只發生在iOS 5.1,而不是在iOS 6.0 - 我試圖在iOS 6和iOS 5.1的iPad模擬器運行 - 它適用於ios 6模擬器,但不適用於ios 5.1。有沒有辦法在ios 5.1上顯示貨幣符號?
Update2:現在,我檢查操作系統版本並僅在> = 6.0中顯示符號。這是其他一些應用程序似乎在做的。
感謝 阿南德
嗯,我不認爲原來的iPad可以運行iOS 6 ... –
顯示一些代碼。 – 2013-01-13 16:17:34
謝謝@DaveDeLong - ipad 1有5.1.1。我已經在上面更新了它。 – Anand