我正在嘗試使用逗號將其從UITextfield
中的數字格式化爲小數點後的數字。在使用Swift的文本字段中格式化數字
我已經這樣做了下面的代碼:
@IBAction func editingDidBegin(sender : AnyObject)
{
costField.addTarget(self, action: Selector("textFieldDidChange:"), forControlEvents: UIControlEvents.EditingChanged)
}
func textFieldDidChange(theTextField:UITextField) -> Void
{
var textFieldText = theTextField.text.stringByReplacingOccurrencesOfString(",", withString: " ", options: NSStringCompareOptions.RegularExpressionSearch, range: Range(start: theTextField.text.startIndex, end: theTextField.text.endIndex))
var formatter:NSNumberFormatter = NSNumberFormatter()
formatter.numberStyle = NSNumberFormatterStyle.DecimalStyle
var formattedOutput = formatter.stringFromNumber(textFieldText.bridgeToObjectiveC().integerValue)
costField.text = formattedOutput
}
的問題與此是後四位數字輸入,一切逗號被刪除後。例如,如果我輸入4000格式到4000,然後如果我鍵入另一個數字,如8重新格式化爲48.
是否有另一種方式,我可以通過IB格式化,或者我可以如何修復代碼?
這將是一個完整的解決方案,如果你已經添加了如何調用該方法來簡化那些尋找快速解決方案的人的工作,而不必看別的地方,特別是初學者。 – nyxee
如果你已經增加了如何調用這個方法來簡化那些尋找快速解決方案的工作,而不必看別的地方,那麼這將是一個完整的解決方案,尤其是初學者。但是,這兩個工作:'textField.addTarget(自我,行動:#選擇器(PostPaymentViewController.textFieldDidChangeCommas(_ :)),爲:.editingChanged)和#Field.addTarget(自我,行動:#選擇器(ViewController。 textFieldDidChangeCommas),用於:.editingChanged)。請有人可以簡要解釋一下。 – nyxee