2015-06-11 15 views
0

Я пытаюсь передать символ валюты на UILabel. Когда я пытаюсь получить символ, я получаю странные результаты. Вот мой код:Как получить символ валюты

self.currencyFormatter = [[NSNumberFormatter alloc] init]; 
[self.currencyFormatter setLocale:[NSLocale currentLocale]]; 
[self.currencyFormatter setMaximumFractionDigits:2]; 
[self.currencyFormatter setMinimumFractionDigits:2]; 
[self.currencyFormatter setAlwaysShowsDecimalSeparator:YES]; 
[self.currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle]; 

NSLog(@"%@", self.currencyFormatter.positiveFormat); 

Выход NSLog является: ¤#,##0.00. Я пытаюсь получить $.

Как я могу получить $ (это для США)?

+0

Зачем вам нужен отдельный символ? 'NSLocaleCurrencySymbol' ключ для NSLocale, вероятно, лучший способ получить его, но если вы пытаетесь отформатировать цену для статей в приложении, вам лучше использовать' SKProduct.priceLocale' для него –

+0

Причина, по которой я хочу это, - это потому что у меня есть UITextField и UILabel. Метка примет символ, а textField будет денежной суммой. Поэтому мне нужно знать, с какой стороны должен быть включен ярлык. Вам, наверное, интересно, почему я просто пропустил ярлык и отформатировал textField? Ответ таков, потому что это просто невозможно для меня реализовать. Я пробовал это в течение нескольких дней без успеха. Вот почему я собираюсь сделать это «взломать». – Eric

+0

Вы определенно делаете это неправильно! Символ валюты может отображаться как слева, так и справа от денежной струны. Вместо того, чтобы разбивать визуальный внешний вид на 'UITextField' и' UILabel', я рекомендую вам использовать проверку текста с помощью метода 'textField: shouldChangeCharactersInIT: replaceString:' 'UITextFieldDelegate'. Проверка является тривиальной - введите числа, отформатируйте строку как деньги и замените текст на вход, если он отличается от результата. –

ответ

Смежные вопросы