当前位置: 首页 > 面试题库 >

如何将度数转换为弧度?

赵智勇
2023-03-14
问题内容

我正在尝试将此Obj-C代码转换为Swift代码,但我不知道该代码应该是什么?

#define DEGREES_TO_RADIANS(degrees)((M_PI * degrees)/180)

我用Google搜索并找到了这个

但是我不明白如何在Swift中转换它?


问题答案:

Xcode 11•Swift 5.1或更高版本

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


 类似资料:
  • 问题内容: 在模块中,我只能找到带有cos / sin / tan / acos / asin / atan的。这将返回以弧度为单位的答案。如何获得度数的答案? 这是我的代码: 我的度数计算器为我提供: 问题答案: Python在包中包括两个函数;将度数转换为弧度,并将弧度转换为度。 要匹配计算器的输出,您需要: 请注意,所有的三角函数都在角度和三角形两侧的比率之间转换。cos,sin和tan以弧

  • 问题内容: 我正在尝试在用户创建对象时从x,y获得以度为单位的alpha角度。 我写了以下构造函数: 我是正确的_alpha现在是一个以度为单位的角度,而不是我从atan()方法获得的弧度吗? 有一个简单的方法吗? 谢谢 ! 问题答案: 为什么不使用Java SE附带的内置方法。

  • 问题 你需要实现弧度和度之间的转换。 解决方案 使用 JavaScript 的 Math.PI 和一个简单的公式来转换两者。 # 弧度转换成度 radiansToDegrees = (radians) -> degrees = radians * 180 / Math.PI radiansToDegrees(1) # => 57.29577951308232 # 度转换成弧度 degr

  • 本文向大家介绍Python中转换角度为弧度的radians()方法,包括了Python中转换角度为弧度的radians()方法的使用技巧和注意事项,需要的朋友参考一下  radians()方法把角度转化为弧度角x。 语法 以下是radians()方法的语法: 注意:此函数是无法直接访问的,所以我们需要导入math模块,然后需要用math的静态对象来调用这个函数。 参数     x -- 这必须是一

  • 问题内容: 我的json中有整数,并且我不希望gson将其转换为双精度。以下内容不起作用: 输出不是我想要的: 有没有办法在我的地图中使用整数而不是双精度? 编辑: 不是我所有的字段都是整数。我已经相应地修改了我的示例。我已经在线阅读了很多示例,包括此站点上的一些答案,但在特定情况下不起作用。 问题答案: 1)您必须创建自定义而不是您的问题。 2)我不认为这种行为来自解串器。它更像是json对象/

  • 我试图得到一个double(由两个int的分数得到)作为我下面函数的返回值。 但结果总是错的,我得到的价值如: 预期结果应介于和 我的代码有什么问题! 谢谢