坚持Swift编码,坚持简单的做法

时间:2018-08-23 17:41:47

标签: swift

我正在尝试创建我认为会非常简单的小应用程序。我基本上需要它来做一些基本的电子表格数学运算。

关于excel,我需要=(A1*A2)/1000*(A3)

然后我需要=(A4-A5)

那么总和就是那两个数字相乘。

我已经附上了屏幕截图,希望这是有道理的。

screen shot

现在,我知道这段代码是不可能的,但是在我的脑海中,我需要这样做:

@IBAction func buttoncalc(_ sender: Any) {
    total.isHidden = false
    let firstValue = Double(text1.text!)
    let secondValue = Double(text2.text!)
    let thirdValue = Double(text3.text!)
    let forthValue = Double(text4.text!)

    if firstValue != nil && secondValue != nil {
        let outputvalue = Double(firstValue! * secondValue!)\1000 * Double(thirdValue - forthValue)

        total.text = "The answer is \(outputvalue)"
    }
}

1 个答案:

答案 0 :(得分:1)

一个文本字段包含文本,该文本可能会或可能不会转换为数字(例如abc123)。在进行任何数学运算之前,您需要测试输入字段是否包含有效的数值:

IBAction func buttoncalc(_ sender: Any) {
    if let a1 = Double(text1.text!),
        let a2 = Double(text2.text!),
        let a3 = Double(text3.text!),
        let a5 = Double(text5.text!)
    {
        let a4 = (a1 * a2) / 1000 * a3
        let a6 = a4 - a5

        text4.text = "\(a4)"
        text6.text = "\(a6)"
    }
}