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
}
該應用程序不再崩潰,不過格式沒有按沒有工作。我已經嘗試了一些東西,但我一直無法弄清楚如何解決它。
您在上一個問題中選錯了答案。您正在使用「NSLocaleCurrencySymbol」值設置'currencyCode'。 – 2014-09-10 17:22:53
啊!謝謝。對這個誤解抱歉。 – user3746428 2014-09-10 17:35:34
我的不好,我在我以前的答案中放了'NSLocaleCurrencySymbol'而不是'NSLocaleCurrencyCode'。 Guido對你以前的問題有正確的答案。謝謝各位指出(我作爲結果編輯我的答案)。 @ user3746428:做Guido的評論解決你的問題? – 2014-09-10 18:33:38