2015-06-11 122 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

爲什麼你需要一個單獨的符號? NSLocale的NSLocaleCurrencySymbol鍵可能是獲取它的最好方式,但如果你想爲應用內項目設置一個格式,你最好使用'SKProduct.priceLocale'。 –

+0

我想要這個的原因是因爲我有一個UITextField和一個UILabel。該標籤將採取符號和textField將是一筆錢。因此,我需要知道標籤應位於哪一側。你可能想知道爲什麼我只跳過標籤並設置textField的格式?答案是,因爲我不可能實現。我試了幾天沒有成功。這就是爲什麼我會這樣做「黑客」。 – Eric

+0

你肯定是做錯了!貨幣符號可能出現在貨幣串的左側和右側。我鼓勵你通過'UITextFieldDelegate'的'textField:shouldChangeCharactersInRange:replacementString:'方法使用文本驗證,而不是將視覺外觀拆分爲'UITextField'和'UILabel'。驗證是微不足道的 - 獲取數字,將字符串格式化爲金錢並在輸入中替換輸入中的文本,如果它與結果不同。 –

回答