У меня возникают проблемы при преобразовании десятичной дроби в валюту для корейского вона, камбоджийского риеля и иранского риала и отображения результата в тексте UILabel.
Само преобразование проходит очень хорошо, и я вижу правильный символ валюты в отладчике, даже NSLog хорошо печатает символ.
Если я назначу этот экземпляр NSString тексту UILabel, символ валюты отображается в виде перечеркнутого прямоугольника вместо правильного символа. Между ними нет другого кода, не важно, какой шрифт я использую.
Я пытался напечатать ₩ (корейский вон), используя значение Юникода (0x20A9) или даже используя представление UTF8 (\ xe2 \ x82 \ xa9), но все, что я получаю, это перечеркнутый прямоугольник на метке.
Любая другая поддерживаемая валюта в iPhone SDK и NSLocale (почти 170 валют) работает отлично, независимо от того, насколько экзотична валюта.
Кто-нибудь еще испытывал такую же проблему? Есть ли «лекарство» от этого?
Спасибо
EDIT:
-(NSString *)decimalToCurrency:(NSDecimalNumber *)value byLocale:(NSLocale *)locale
{
NSNumberFormatter *fmt = [[NSNumberFormatter alloc] init];
[fmt setLocale: locale];
[fmt setNumberStyle: NSNumberFormatterCurrencyStyle];
NSString *res = [fmt stringFromNumber: value];
[fmt release];
return res;
}
lbValue.text = [self decimalToCurrency: price byLocale: koreanLocale];