Swift 向计算器应用程序添加小数点按钮
有人能帮我添加代码,这样我就可以添加一个小数点按钮了吗 这是我到目前为止所拥有的,请有人填写小数点按钮所需的代码。所以我可以从中学习。请查看代码并让我知道您的想法Swift 向计算器应用程序添加小数点按钮,swift,calculator,Swift,Calculator,有人能帮我添加代码,这样我就可以添加一个小数点按钮了吗 这是我到目前为止所拥有的,请有人填写小数点按钮所需的代码。所以我可以从中学习。请查看代码并让我知道您的想法 import UIKit class ViewController: UIViewController { var numberOnScreen:Double = 0; var previousNumber:Double = 0; var preformingMath = false var ope
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.
}
}
将此
@iAction
添加到代码中,并将其挂接到
按钮上
- 如果用户在任何数字之前按
,显示屏将设置为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!)! }
performingMath
为true
,则将label.text
设置为“0.”
,否则,如果label.text没有小数,则将“
追加到label.text
。然后用Double(label.text!)更新numberOnScreen
。使用if label.text.contains(“.”{}
测试是否已经有小数。不需要尾随分号代码>在Swift中。测试Bool
时,无需与true
进行比较。只需使用Bool
:例如if performingMath{}
。你能给我发一张我的代码截图吗?我还是不走运。谢谢我贴出的答案。问题是,这段代码除了在我想写2.3。。。只要我按下十进制按钮,它就会重置为0。。。但是如果我按0.2,比如从0开始求和,它能工作吗?有什么想法吗?对我来说很有用。您的代码中必须有不同的内容。你能给你的问题添加一个新的部分,包括你的所有代码吗?我会看一下。我在上面更新了我的当前代码,如果你点击清除,尽快给我回电话,然后2
你的屏幕显示为0.
?你的代码对我有效。你需要给我一个更好的描述如何准确地再现你的问题。以CLEAR开头的最小击键数是多少?