最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Swift實(shí)現(xiàn)簡單計(jì)算器

 更新時(shí)間:2022年01月27日 10:05:03   作者:qq_29284809  
這篇文章主要為大家詳細(xì)介紹了Swift實(shí)現(xiàn)簡單計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Swift實(shí)現(xiàn)簡單計(jì)算器的具體代碼,供大家參考,具體內(nèi)容如下

使用Storyboard

快速而又方便的進(jìn)行控件的布局,功能操作簡單的進(jìn)行一些運(yùn)算;

代碼實(shí)現(xiàn)

//
// ?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
? ? //標(biāo)記是否輸入了小數(shù)點(diǎn)
? ? var decimalPointFlag: Bool = false
? ? //是否輸入第二操作數(shù)
? ? 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 中默認(rèn)是0,如果開始輸入數(shù)字,則先清除0
? ? ? ? if lableResult.text == "0" || (isSecond && secondOperand == 0.0) {

? ? ? ? ? ? lableResult.text = ""
? ? ? ? }
? ? ? ? //將用戶錄入的數(shù)添加到lableResult中
? ? ? ? lableResult.text = lableResult.text! + sender.titleLabel!.text!

? ? ? ? if isSecond {
// ? ? ? ? ? ?secondOperand = (lableResult.text! as NSString).doubleValue
? ? ? ? ? ? secondOperand = NSString(string: lableResult.text!).doubleValue
? ? ? ? }else {
? ? ? ? ? ? //將lableResult中的字符串轉(zhuǎn)化為雙精度數(shù)
// ? ? ? ? ? ?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) {
? ? ? ? //確保第二操作數(shù)有值
? ? ? ? if isSecond {
? ? ? ? ? ? //除數(shù)不能為0
? ? ? ? ? ? if operatorFlag == "/" && secondOperand == 0 {
? ? ? ? ? ? ? ? print("Error: 除數(shù)不能為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("結(jié)果: \(result)")

? ? ? ? }

? ? }

? ? @IBAction func clear(sender: UIButton) {

? ? ? ? //lable對象顯示0
? ? ? ? lableResult.text = "0"

? ? ? ? //第一操作數(shù)清零
? ? ? ? firstOperand = 0.0

? ? ? ? //第二操作數(shù)清零
? ? ? ? secondOperand = 0.0

? ? ? ? //小數(shù)點(diǎn)標(biāo)記設(shè)置為假
? ? ? ? decimalPointFlag = false

? ? ? ? //第二操作數(shù)標(biāo)記設(shè)置為假
? ? ? ? isSecond = false

? ? ? ? //操作清空
? ? ? ? operatorFlag = ""

? ? }
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 簡單了解Swift語言中的break和continue語句的用法

    簡單了解Swift語言中的break和continue語句的用法

    這篇文章主要簡單介紹了Swift語言中的break和continue語句的用法,與其他語言的一樣用于循環(huán)語句流程控制,需要的朋友可以參考下
    2015-11-11
  • swift 3.0中realm封裝類示例代碼

    swift 3.0中realm封裝類示例代碼

    這篇文章主要給大家介紹了關(guān)于swift 3.0中realm封裝類的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用swift具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • Swift中閉包實(shí)戰(zhàn)案例詳解

    Swift中閉包實(shí)戰(zhàn)案例詳解

    接觸過Swift的小伙伴對“閉包”應(yīng)該不陌生,相當(dāng)于OC中的Block,是Swift語法中比較難理解的一塊。下面這篇文章主要介紹了關(guān)于Swift中閉包實(shí)戰(zhàn)的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-03-03
  • 解析Swift語言面相對象編程中的繼承特性

    解析Swift語言面相對象編程中的繼承特性

    這篇文章主要介紹了解析Swift語言面相對象編程中的繼承特性,是Swift入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-11-11
  • Swift5中fileprivate與private的差別淺析

    Swift5中fileprivate與private的差別淺析

    這篇文章主要給大家介紹了關(guān)于Swift5中fileprivate與private的差別的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Swift5具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 分析Swift性能高效的原因

    分析Swift性能高效的原因

    絕大多數(shù)公司選擇Swift語言開發(fā)iOS應(yīng)用,主要原因是因?yàn)镾wift相比Objc有更快的運(yùn)行效率,更加安全的類型檢測,更多現(xiàn)代語言的特性提升開發(fā)效率;這一系列的優(yōu)點(diǎn)使Swift語言的熱度越來越高。
    2020-10-10
  • Swift4使用GCD實(shí)現(xiàn)計(jì)時(shí)器

    Swift4使用GCD實(shí)現(xiàn)計(jì)時(shí)器

    這篇文章主要為大家詳細(xì)介紹了Swift4使用GCD實(shí)現(xiàn)計(jì)時(shí)器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • Swift縮放并填充圖片功能的實(shí)現(xiàn)

    Swift縮放并填充圖片功能的實(shí)現(xiàn)

    最近有一個(gè)需求,就是將圖片先等比例縮放到指定大小,然后將空余出來空間填充為黑色,返回指定大小的圖片。本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-11-11
  • Swift如何為網(wǎng)頁承載頁面添加更多功能詳解

    Swift如何為網(wǎng)頁承載頁面添加更多功能詳解

    這篇文章主要給大家介紹了關(guān)于Swift如何為網(wǎng)頁承載頁面添加更多功能的相關(guān)資料,包括添加菊花加載的效果、添加跳轉(zhuǎn)到Safari的功能、添加復(fù)制鏈接的功能以及添加分享網(wǎng)頁的功能,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-05-05
  • Swift實(shí)現(xiàn)多個(gè)TableView側(cè)滑與切換效果

    Swift實(shí)現(xiàn)多個(gè)TableView側(cè)滑與切換效果

    這篇文章主要為大家詳細(xì)介紹了Swift實(shí)現(xiàn)多個(gè)TableView側(cè)滑與切換效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11

最新評論

屏南县| 长岭县| 枣强县| 蒲江县| 宿迁市| 临猗县| 黄平县| 尼勒克县| 商水县| 城口县| 临桂县| 富民县| 柞水县| 凤冈县| 公安县| 衡水市| 唐山市| 西安市| 融水| 双峰县| 旺苍县| 安徽省| 镇沅| 若羌县| 前郭尔| 久治县| 扶风县| 自贡市| 毕节市| 通化市| 辉县市| 峨眉山市| 大英县| 霸州市| 滦南县| 海安县| 比如县| 柳林县| 霍城县| 新巴尔虎左旗| 义乌市|