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
. Я пытаюсь получить $
.
Как я могу получить $
(это для США)?
Зачем вам нужен отдельный символ? 'NSLocaleCurrencySymbol' ключ для NSLocale, вероятно, лучший способ получить его, но если вы пытаетесь отформатировать цену для статей в приложении, вам лучше использовать' SKProduct.priceLocale' для него –
Причина, по которой я хочу это, - это потому что у меня есть UITextField и UILabel. Метка примет символ, а textField будет денежной суммой. Поэтому мне нужно знать, с какой стороны должен быть включен ярлык. Вам, наверное, интересно, почему я просто пропустил ярлык и отформатировал textField? Ответ таков, потому что это просто невозможно для меня реализовать. Я пробовал это в течение нескольких дней без успеха. Вот почему я собираюсь сделать это «взломать». – Eric
Вы определенно делаете это неправильно! Символ валюты может отображаться как слева, так и справа от денежной струны. Вместо того, чтобы разбивать визуальный внешний вид на 'UITextField' и' UILabel', я рекомендую вам использовать проверку текста с помощью метода 'textField: shouldChangeCharactersInIT: replaceString:' 'UITextFieldDelegate'. Проверка является тривиальной - введите числа, отформатируйте строку как деньги и замените текст на вход, если он отличается от результата. –