这篇文章主要为大家详细介绍了Swift实现简单计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了Swift实现简单计算器的具体代码,供大家参考,具体内容如下
使用Storyboard
快速而又方便的进行控件的布局,功能操作简单的进行一些运算;
代码实现
//
// ViewController.swift
// Swift_Calculator
//
// Created by 周文春 on 16/3/2.
// Copyright © 2016年 周文春. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var lableResult: UILabel!
//第一操作
var firstOperand: Double = 0.0
//第二操作
var secondOperand: Double = 0.0
//标记是否输入了小数点
var decimalPointFlag: Bool = false
//是否输入第二操作数
var isSecond: Bool = false
//操作符
var operatorFlag: String = ""
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.
}
@IBAction func buttonTap(sender: UIButton) {
//lableResult 中默认是0,如果开始输入数字,则先清除0
if lableResult.text == "0" || (isSecond && secondOperand == 0.0) {
lableResult.text = ""
}
//将用户录入的数添加到lableResult中
lableResult.text = lableResult.text! + sender.titleLabel!.text!
if isSecond {
// secondOperand = (lableResult.text! as NSString).doubleValue
secondOperand = NSString(string: lableResult.text!).doubleValue
}else {
//将lableResult中的字符串转化为双精度数
// firstOperand = (lableResult.text! as NSString).doubleValue
firstOperand = NSString(string: lableResult.text!).doubleValue
}
print(firstOperand)
}
@IBAction func decimalPointTap() {
if !decimalPointFlag {
lableResult.text = lableResult.text! + "."
if isSecond {
secondOperand = (lableResult.text! as NSString).doubleValue
}else {
firstOperand = (lableResult.text! as NSString).doubleValue
}
decimalPointFlag = !decimalPointFlag
}
}
@IBAction func operatorTap(sender: UIButton) {
if firstOperand != 0 {
isSecond = true
decimalPointFlag = false
switch sender.titleLabel!.text! {
case "+":
operatorFlag = "+"
case "-":
operatorFlag = "-"
case "*":
operatorFlag = "*"
case "÷":
operatorFlag = "/"
default:
operatorFlag = " "
}
}
}
@IBAction func resultTap(sender: UIButton) {
//确保第二操作数有值
if isSecond {
//除数不能为0
if operatorFlag == "/" && secondOperand == 0 {
print("Error: 除数不能为0")
return
}
var result: Double = 0.0
switch operatorFlag {
case "+":
result = firstOperand + secondOperand
case "-":
result = firstOperand - secondOperand
case "*":
result = firstOperand * secondOperand
case "/":
result = firstOperand / secondOperand
default :
result = 0.0
}
lableResult.text = result.description
print("第一操作: \(firstOperand)")
print("操作符: \(operatorFlag)")
print("第二操作: \(secondOperand)")
print("结果: \(result)")
}
}
@IBAction func clear(sender: UIButton) {
//lable对象显示0
lableResult.text = "0"
//第一操作数清零
firstOperand = 0.0
//第二操作数清零
secondOperand = 0.0
//小数点标记设置为假
decimalPointFlag = false
//第二操作数标记设置为假
isSecond = false
//操作清空
operatorFlag = ""
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程学习网。
沃梦达教程
本文标题为:Swift实现简单计算器


猜你喜欢
- Swift超详细讲解指针 2023-07-08
- R语言关于二项分布知识点总结 2022-11-30
- R语言绘图数据可视化pie chart饼图 2022-12-10
- 汇编语言程序设计之根据输入改变屏幕颜色的代码 2023-07-06
- Ruby 迭代器知识汇总 2023-07-23
- Ruby on Rails在Ping ++ 平台实现支付 2023-07-22
- Ruby的字符串与数组求最大值的相关问题讨论 2023-07-22
- R语言-如何切换科学计数法和更换小数点位数 2022-11-23
- Go Web开发进阶实战(gin框架) 2023-09-06
- Golang http.Client设置超时 2023-09-05