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

Swift實現復數計算器

 更新時間:2022年01月27日 09:53:06   作者:正在爬的程序猿  
這篇文章主要為大家詳細介紹了Swift實現復數計算器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Swift實現復數計算器的具體代碼,供大家參考,具體內容如下

Swift使用笛卡爾和極坐標進行轉換的復數計算器

import Foundation
struct Complex{
? ? //實部real
? ? public var real : Double = 0
? ? //虛部img
? ? public var img : Double = 0
? ? public var polar :(mod:Double,arg:Double) = (0,0)
? ? public var Cartesian :(real:Double,img:Double) = (0,0)
? ? public var FirstPolar :(mod:Double,arg:Double) = (0,0)
? ? init(PolarNumber:(mod:Double,arg:Double)) {
? ? ? ? FirstPolar = PolarNumber
? ? ? ? ChangePolar = PolarNumber as (Double,Double)
? ? // ?print(judgment(parameter: ChangePolar))
? ? ? ??
? ? }
? ? //笛卡爾轉極坐標
? ? public var ChangeCartesian :(mod:Double,arg:Double){
? ? ? ? get{
? ? ? ? ? ? return polar
? ? ? ? }
? ? ? ? set(CartesianNum){
? ? ? ? ? ? polar.mod = sqrt((CartesianNum.mod * CartesianNum.mod)+(CartesianNum.arg * CartesianNum.arg))
? ? ? ? ? ? polar.arg = atan2(CartesianNum.arg, CartesianNum.mod)
? ? ? ? }
? ? }
? ? //極坐標轉笛卡爾
? ? public var ChangePolar : (real:Double,img:Double){
? ? ? ? get{
? ? ? ? ? ? return Cartesian
? ? ? ? }
? ? ? ? set(PolarNum){
? ? ? ? ? ? Cartesian.real = PolarNum.real * cos(PolarNum.img)
? ? ? ? ? ? Cartesian.img = PolarNum.real * sin(PolarNum.img)
? ? ? ? }
? ? }
? ? //判斷
? ? public func judgment(parameter:(real:Double,img:Double))->String {
? ? ? ??
? ? ? ? ? ? if parameter.img > 0 {
? ? ? ? ? ? ? ? return "\(Double(round(parameter.real * 1000)/1000))+\(Double(round(parameter.img * 1000)/1000))??"
? ? ? ? ? ? } else if parameter.img < 0 {
? ? ? ? ? ? ? ? return "\(Double(round(parameter.real * 1000)/1000))-\(-(Double(round(parameter.img * 1000)/1000)))??"
? ? ? ? ? ? ? ?} else {
? ? ? ? ? ? ? ? return "\(Double(round(parameter.img * 1000)/1000))"
? ? ? ? ? ? ? ?}
? ? ? ? ? ?}
? ? //計算前進行格式轉換
? ? public mutating func ChangeAdd(AddNum:(mod:Double,arg:Double)){
? ? ? ? ChangePolar = FirstPolar as (Double,Double)
? ? ? ? //初始值通過set進行了轉換
? ? ? ? let x = ChangePolar
? ? ? ? //用x進行一個存儲
? ? ? ? ChangePolar = AddNum as (Double,Double)
? ? ? ? let y = ChangePolar
? ? ? ? Add(x: x, y: y)
? ? ? ? //調用Add方法,進行運算
? ? }
? ? public mutating func ChangeSubtract(SubNum:(mod:Double,arg:Double)){
? ? ? ? ChangePolar = FirstPolar as (Double,Double)
? ? ? ? let x = ChangePolar
? ? ? ? ChangePolar = SubNum as (Double,Double)
? ? ? ? let y = ChangePolar
? ? ? ? Subtract(x: x, y: y)
? ? }
? ? public mutating func ChangeMultiply(MulNum:(mod:Double,arg:Double)){
? ? ? ? ChangePolar = FirstPolar as (Double,Double)
? ? ? ? let x = ChangePolar
? ? ? ? ChangePolar = MulNum as (Double,Double)
? ? ? ? let y = ChangePolar
? ? ? ? Multiply(x: x, y: y)
? ? }
? ? public mutating func ChangeDiv(DivNum:(mod:Double,arg:Double)){
? ? ? ? Divide(x: FirstPolar, y: DivNum)
? ? }
? ??
? ? //加減乘除方法
? ? public func Add(x:(real:Double,img:Double),y:(real:Double,img:Double)){
? ? ? ? let answer = (x.real + y.real,x.img + y.img)
? ? ? ? print(judgment(parameter: answer))
? ? }
? ? public func Subtract(x:(real:Double,img:Double),y:(real:Double,img:Double)){
? ? ? ? let answer = (x.real - y.real,x.img - y.img)
? ? ? ? print(judgment(parameter: answer))
? ? }
? ? public func Multiply(x:(real:Double,img:Double),y:(real:Double,img:Double)){
? ? ? ? let answer = (x.real * y.real - x.img * y.img,x.real * y.real + x.img * y.img)
? ? ? ? print(judgment(parameter: answer))
? ? }
? ? public mutating func Divide(x:(mod:Double,arg:Double),y:(mod:Double,arg:Double)){
? ? ? ? let answer = ((x.mod / y.mod),(x.arg - y.arg))
// ? ? ? ChangePolar = answer
? ? ? ? print(judgment(parameter: answer))
? ? }
? ?}

以及對應的測試

var test = Complex(PolarNumber: (mod: 10.63, arg: 0.852))//7,8
//加法
test.ChangeAdd(AddNum: (mod: 2.2361, arg: 1.107))//8.0+10.0??
//減法
test.ChangeSubtract(SubNum:(mod: 2.2361, arg: 1.107))//5.999+6.0??
//乘法
test.ChangeMultiply(MulNum: (mod: 2.2361, arg: 1.107))//-8.997+23.001??
//除法
test.ChangeDiv(DivNum:(mod: 2.2361, arg: 1.107))//4.754-0.255??##?

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Swift語言中字符串相關的基本概念解析

    Swift語言中字符串相關的基本概念解析

    這篇文章主要介紹了Swift語言中字符串相關的基本概念解析,是Swift入門學習中的基礎知識,需要的朋友可以參考下
    2015-11-11
  • Swift map和filter函數原型基礎示例

    Swift map和filter函數原型基礎示例

    這篇文章主要為大家介紹了Swift map和filter函數原型基礎示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • Swift?列舉內存管理與異常處理具體代碼

    Swift?列舉內存管理與異常處理具體代碼

    內存管理和異常處理在任何編程語言中都是核心概念。盡管有很多教程解釋了Swift自動引用計數的基本原理,但我發(fā)現沒有一個可以從編譯器的角度對其進行解釋。在本文中,我們將通過詳細代碼列舉學習Swift內存管理與異常處理
    2021-11-11
  • Swift實現代碼混淆詳解

    Swift實現代碼混淆詳解

    本文詳細講解了Swift實現代碼混淆的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧<BR>
    2021-11-11
  • 特定用例下的Combine全面使用詳解

    特定用例下的Combine全面使用詳解

    這篇文章主要為大家介紹了特定用例下的Combine全面使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • swift 字符串String的使用方法

    swift 字符串String的使用方法

    這篇文章主要介紹了swift 字符串String的使用方法的相關資料,需要的朋友可以參考下
    2017-06-06
  • Swift簡單快速的動態(tài)更換app圖標AppIcon方法示例

    Swift簡單快速的動態(tài)更換app圖標AppIcon方法示例

    這篇文章主要為大家介紹了Swift動態(tài)更換app圖標AppIcon的簡單快速方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • swift 3.0 實現短信驗證碼倒計時功能

    swift 3.0 實現短信驗證碼倒計時功能

    這篇文章主要介紹了swift 3.0 實現短信驗證碼倒計時功能的相關資料,需要的朋友可以參考下
    2017-02-02
  • swift3.0鍵盤彈起遮擋輸入框問題的解決方案

    swift3.0鍵盤彈起遮擋輸入框問題的解決方案

    這篇文章主要介紹了swift3.0鍵盤彈起遮擋輸入框問題的解決方案,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-11-11
  • Swift中非可選的可選值類型處理方法詳解

    Swift中非可選的可選值類型處理方法詳解

    Optional是Objective-C沒有的數據類型,是蘋果引入到Swift語言中的全新類型,它的特點就和它的名字一樣:可以有值,也可以沒有值,當它沒有值時,就是nil。下面這篇文章主要給大家介紹了關于Swift中非可選的可選值類型處理方法的相關資料,需要的朋友可以參考下。
    2017-11-11

最新評論

青龙| 惠来县| 嘉祥县| 芮城县| 东港市| 调兵山市| 大城县| 泾川县| 三明市| 蓝田县| 洛浦县| 昌平区| 宜良县| 开封市| 介休市| 特克斯县| 永宁县| 监利县| 讷河市| 丹寨县| 霍邱县| 新竹市| 富民县| 含山县| 南川市| 南和县| 随州市| 固原市| 依兰县| 苗栗县| 河池市| 廊坊市| 翼城县| 宁蒗| 巴彦淖尔市| 安康市| 吉首市| 米脂县| 英山县| 东城区| 朝阳县|