将小数点按钮添加到计算器应用程序

Adding a Decimal Point button to the calculator app

有人可以向其中添加代码以便我能够添加小数点按钮吗?

这是我目前的情况,有人可以填写小数点按钮所需的代码吗?所以我可以从中学习。请查看代码,让我知道您的想法。

import UIKit

class ViewController: UIViewController {

    var numberOnScreen:Double = 0;
    var previousNumber:Double = 0;
    var preformingMath = false
    var operation = 0;

    @IBOutlet weak var label: UILabel!

    @IBAction func numbers(_ sender: UIButton)
    {
        if preformingMath == true
        {
            label.text = String(sender.tag-1)
            numberOnScreen = Double(label.text!)!
            preformingMath = false
        }
        else
        {
            label.text = label.text! + String(sender.tag-1)
            numberOnScreen = Double(label.text!)!
        }
    }


    @IBAction func buttons(_ sender: UIButton)
    {
        if label.text != "" && sender.tag != 11 && sender.tag != 16
        {
            previousNumber = Double(label.text!)!

            if sender.tag == 12 //Divide
            {
                label.text = "/";
            }
            else if sender.tag == 13//Multiply
            {
                label.text = "x";
            }
            else if sender.tag == 14 //Minus
            {
                label.text = "-";
            }
            else if sender.tag == 15 //Plus
            {
                label.text = "+";
            }
            operation = sender.tag;
            preformingMath = true;
        }
        else if sender.tag == 16
        {
            if operation == 12
            {
                label.text = String(previousNumber / numberOnScreen)
            }
            else if operation == 13
            {
                label.text = String(previousNumber * numberOnScreen)
            }
            else if operation == 14
            {
                label.text = String(previousNumber - numberOnScreen)
            }
            else if operation == 15
            {
              label.text = String(previousNumber + numberOnScreen)
            }
        }
        else if sender.tag == 11
        {
            label.text = ""
            previousNumber = 0;
            numberOnScreen = 0;
            operation = 0;
        }
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }


}

将此 @IBAction 添加到您的代码中并将其挂接到您的 . 按钮。

  • 如果用户在任何数字前按 .,显示将设置为 0.
  • 如果显示中有数字,如果数字中还没有小数点,则 . 将附加到显示中。
  • 终于numberOnScreen更新了

    @IBAction func decimal(_ sender: UIButton) {
        if preformingMath || label.text!.isEmpty
        {
            label.text = "0."
            preformingMath = false
        }
        else
        {
            if !label.text!.contains(".") {
                label.text = label.text! + "."
            }
        }
        numberOnScreen = Double(label.text!)!
    }