该应用程序基本上通过输入初始和最终速度和时间来计算加速度,然后使用一个公式来计算加速度。但是,由于文本框中的值是字符串,我无法将它们转换为整数。

@IBOutlet var txtBox1 : UITextField
@IBOutlet var txtBox2 : UITextField
@IBOutlet var txtBox3 : UITextField
@IBOutlet var lblAnswer : UILabel


@IBAction func btn1(sender : AnyObject) {

    let answer1 = "The acceleration is"
    var answer2 = txtBox1
    var answer3 = txtBox2
    var answer4 = txtBox3

当前回答

Swift5 float或int string to int:

extension String {
    func convertStringToInt() -> Int {
        return Int(Double(self) ?? 0.0)
    }
}

let doubleStr = "4.2"
// print 4
print(doubleStr.convertStringToInt())

let intStr = "4"
// print 4
print(intStr.convertStringToInt())

其他回答

//  To convert user input (i.e string) to int for calculation.I did this , and it works.


    let num:Int? = Int(firstTextField.text!);

    let sum:Int = num!-2

    print(sum);

myString.toInt() -将字符串值转换为int。

快3.倍

如果你在字符串中隐藏了一个整数,你可以使用整数的构造函数进行转换,如下所示:

let myInt = Int(textField.text)

与其他数据类型(Float和Double)一样,你也可以使用NSString进行转换:

let myString = "556"
let myInt = (myString as NSString).integerValue

斯威夫特,斯威夫特

有不同的情况下,从一个数据类型转换到另一个数据类型,这取决于输入。

如果输入数据类型是Any,我们必须像以前一样使用convert到实际的数据类型,然后转换为我们想要的数据类型。例如:

func justGetDummyString() -> Any {
  return "2000"
}
let dummyString: String = (justGetDummyString() as? String) ?? "" // output = "2000"
let dummyInt: Int = Int(dummyString) ?? 0 // output = 2000

在Swift 4中:

extension String {            
    var numberValue:NSNumber? {
        let formatter = NumberFormatter()
        formatter.numberStyle = .decimal
        return formatter.number(from: self)
    }
}
let someFloat = "12".numberValue

这对我很有用

var a:Int? = Int(userInput.text!)