在我的视图控制器中传递小数我有一个uitextfield,用户可以通过按下添加按钮来输入一些费用的小数。 问题:如果像我输入INT“100”一切正常,但如果我输入“12.3”的数据是不是即使我转换文本在双 注接受:如果我输入小数,“打印1" 的价值观和停止,就像没有数据集 注2:在我的文本字段我设置为无校正和拼写检查由于对文本框的键盘xcodebug,但这种变化似乎并不影响本问题swift 3.1无法从UITextField
我声明:
var amount : Double!
我的按钮:
@IBAction func addBillButton(_ sender: UIButton) {
print("button pressed 1")
guard self.dataInput.text != nil else {return}
amount = Double(self.dataInput.text!)
guard amount != nil else {return}
print("amount : \(amount!)")
dateShowed = myDatePicker.date as NSDate!
let dateShowedString = convertDateToString(dateToConvert: dateShowed as NSDate)
print("date : \(dateShowedString)")
if presentPickName != nil {
print("name is : \(presentPickName!)")
} else {
print("presentPickName is nil")
}
// guard presentPickData != nil else {return}
if presentPickTag != nil {
print("tag is : \(presentPickTag!)")
} else {
print("presentPickData is nil")
}
//func for saving in core data
// saveExpense(amountToSave: amount, amountDate: dateShowed as NSDate, owner: presentPickName, tag: presentPickTag)
resetViewForNextInput()
self.dataInput.resignFirstResponder()
print("button pressed 2")
}
我的文本框在故事板
编辑解决方案:
在我的按钮guard let stringFromTxtField = self.dataInput.text else {return}
print(stringFromTxtField)
let myFormatter = NumberFormatter().number(from: stringFromTxtField) as! Double
print(myFormatter)
amount = myFormatter
大说明!但我应该如何在我的代码中实现它? – biggreentree
@biggreentree正如我写的那样使用NumberFormatter – Andrea
我不是那个专家,我在我的更新中添加了一个可能的解决方案,你能检查我是错的吗? – biggreentree