您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何将度数转换为弧度?

如何将度数转换为弧度?

extension BinaryInteger {
    var degreesToradians: CGFloat { CGFloat(self) * .pi / 180 }
}

extension FloatingPoint {
    var degreesToradians: Self { self * .pi / 180 }
    var radiansTodegrees: Self { self * 180 / .pi }
}

45.degreesToradians         // 0.7853981633974483

Int(45).degreesToradians    // 0.7853981633974483
Int8(45).degreesToradians   // 0.7853981633974483
Int16(45).degreesToradians  // 0.7853981633974483
Int32(45).degreesToradians  // 0.7853981633974483
Int64(45).degreesToradians  // 0.7853981633974483

UInt(45).degreesToradians   // 0.7853981633974483
UInt8(45).degreesToradians  // 0.7853981633974483
UInt16(45).degreesToradians // 0.7853981633974483
UInt32(45).degreesToradians // 0.7853981633974483
UInt64(45).degreesToradians // 0.7853981633974483

Double(45).degreesToradians    // 0.7853981633974483
CGFloat(45).degreesToradians   // 0.7853981633974483
Float(45).degreesToradians     // 0.7853981
Float80(45).degreesToradians   // 0.78539816339744830963

如果要使二进制整数返回浮点类型而不是始终返回CGFloat,则可以使通用方法代替计算属性

extension BinaryInteger {
    func degreesToradians<F: FloatingPoint>() -> F {  F(self) * .pi / 180 }
}
let radiansDouble: Double = 45.degreesToradians()   // 0.7853981633974483
let radiansCGFloat: CGFloat = 45.degreesToradians() // 0.7853981633974483
let radiansFloat: Float = 45.degreesToradians()     // 0.7853981
let radiansFloat80: Float80 = 45.degreesToradians() // 0.78539816339744830963
其他 2022/1/1 18:16:45 有526人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶