2014-09-10 105 views
0

我剛剛更新了Xcode 6的GM,目前正在處理和解決問題。貨幣格式不能正常工作

我有一個問題,我一直在努力修復我的代碼的特定部分。基本上,我曾經有過這樣的代碼:

override func viewDidLoad() { 
    currencyFormatter.numberStyle = NSNumberFormatterStyle.CurrencyStyle 
    currencyFormatter.currencyCode = NSLocale.currentLocale().displayNameForKey(NSLocaleCurrencySymbol, value: NSLocaleCurrencyCode)! 
} 

func textFieldDidChangeValue(textField: UITextField) { 
    //Automatic formatting for transaction value text field. Target is added above. 
    var text = textField.text.stringByReplacingOccurrencesOfString(currencyFormatter.currencySymbol, withString: "").stringByReplacingOccurrencesOfString(currencyFormatter.groupingSeparator, withString: "").stringByReplacingOccurrencesOfString(currencyFormatter.decimalSeparator, withString: "").stringByReplacingOccurrencesOfString(" ", withString: "") // There is a special character here. This line is critical for european/other currencies. 
    println(textField.text) 

    textField.text = currencyFormatter.stringFromNumber((text as NSString).doubleValue/100.0) 
    currencyDouble = (text as NSString).doubleValue/100.0 
    //println(currencyDouble) 
    valueEnter.alpha = 100 
} 

我不得不改變在viewDidLoad中()中的代碼,我的應用程序是崩潰,這樣的:

let currencyFormatter = NSNumberFormatter() 
    currencyFormatter.numberStyle = NSNumberFormatterStyle.CurrencyStyle 
    if let currencyCode = NSLocale.currentLocale().objectForKey(NSLocaleCurrencySymbol) as? String { 
     currencyFormatter.currencyCode = currencyCode 
     println(currencyFormatter.currencyCode) //Will display "$", for example, if your locale is set to USD 
    } 

該應用程序不再崩潰,不過格式沒有按沒有工作。我已經嘗試了一些東西,但我一直無法弄清楚如何解決它。

+0

您在上一個問題中選錯了答案。您正在使用「NSLocaleCurrencySymbol」值設置'currencyCode'。 – 2014-09-10 17:22:53

+0

啊!謝謝。對這個誤解抱歉。 – user3746428 2014-09-10 17:35:34

+0

我的不好,我在我以前的答案中放了'NSLocaleCurrencySymbol'而不是'NSLocaleCurrencyCode'。 Guido對你以前的問題有正確的答案。謝謝各位指出(我作爲結果編輯我的答案)。 @ user3746428:做Guido的評論解決你的問題? – 2014-09-10 18:33:38

回答

1

您正在使用NSLocaleCurrencySymbol值設置currencyCode。正如名稱所示,這是錯誤的值。正確的值將是NSLocaleCurrencyCode