本文实例为大家分享了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))

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。