【发布时间】:2017-11-02 00:58:22
【问题描述】:
编辑:
@IBAction func decimal(_ sender: UIButton)
{
label.text = label.text! + String(decimal)
numberOnScreen = Double(label.text!)!
performingMath = true
do {
previousNumber = Double(self.label.text!)!
}
}
它仍然没有将小数添加到已按下的数字,而是清除数字并将标签更改为小数。它也没有正确执行数学运算
我想给我的计算器添加一个小数点。
将按钮添加为操作后,如何将其编码为小数点。 我希望它以与其余按钮相同的格式进行编码。 我需要它在按下后显示前一个数字,还需要使用小数执行数学运算,并显示带有小数的 Bool。
我是初学者,自学成才 我按照教程编写了这个代码,但教程没有显示如何添加小数
有人可以帮我编写十进制按钮吗?
@IBOutlet weak var label: UILabel!
@IBAction func numbers(_ sender: UIButton)
{
if performingMath == true
{
label.text = String(sender.tag-1)
numberOnScreen = Double(label.text!)!
performingMath = false
}
else
{
label.text = label.text! + String(sender.tag-1)
numberOnScreen = Double(label.text!)!
}
}
@IBAction func button(_ 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
performingMath = 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, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
【问题讨论】:
-
将
"."附加到您的显示器label(如果它还没有)。如果您的显示标签为空,请将您的显示label设置为"0."然后执行numberOnScreen = Double(label.text!)!。
标签: ios swift decimal calculator