我想开发一个可以将UITextField
值转换为整数,浮点和双精度的应用程序。
我面临将String
值转换成Integer
的问题。
任何人都可以提出更好的转换方式。
我尝试了以下代码,但不适用于Swift 4
和Xcode 10.
let result = txtTotakeInput.text
var newSTrings = Int(result!)
谢谢。
答案 0 :(得分:1)
一种更好,更安全的方式来处理所有三种类型Int
,Float
和Double
let result = txtTotakeInput.text
if let intVal = Int(result ?? "") {
// Use interger
}
else if let floatVal = Float(result ?? "") {
// Use float
}
else if let doubleVal = Double(result ?? "") {
// Use double
}
else {
print("User has not entered integer, float or double")
}
答案 1 :(得分:0)
Int.init(_ string)
返回一个可选值,因为该字符串可能不是整数。因此,您可以将newStrings设为可选,例如var newSTrings = result.flatMap(Int.init)
或将其零合并为零或其他一些默认值var newSTrings = result.flatMap(Int.init) ?? 0