【发布时间】:2019-07-21 16:13:46
【问题描述】:
有人可以将代码添加到此,以便我可以添加小数点按钮吗?
这是我目前所拥有的,有人可以填写小数点按钮所需的代码吗?所以我可以从中学习。请查看代码并告诉我您的想法。
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.
}
}
【问题讨论】:
-
试一试。如果
performingMath是true,则将label.text设置为"0.",否则将"."附加到label.text(如果它没有小数点)。然后将numberOnScreen更新为Double(label.text!)!。 -
使用
if label.text.contains(".") { }测试是否已经有小数。 -
在 Swift 中不需要尾随分号
;。测试Bool时,无需与true进行比较。只需使用Bool:例如if performingMath { }。 -
你能把我的代码截图发给我吗?我仍然没有运气。谢谢
-
查看我发布的答案。
标签: swift calculator