Swift 如何使用Uint和Measurement转换单位

2020-03-23 16:34:15 浏览数 (1)

SI

iOS 10引入了一种新的系统,用于计算距离,长度,面积,体积,持续时间以及更多测量值。让我们从简单的事情开始。如果您六英尺高,则可以创建一个Measurement实例,如下所示:

代码语言:javascript复制
let heightFeet = Measurement(value: 6, unit: UnitLength.feet)

请注意,Swift无法将.feet推断为UnitLength.feet,因为您很快就会看到很多Unit子类。

准备好测量后,可以将其转换为其他单位,如下所示:

代码语言:javascript复制
let heightInches = heightFeet.converted(to: UnitLength.inches)    //英寸   1英尺等于12英寸
let heightSensible = heightFeet.converted(to: UnitLength.meters)  //米     1英尺等于0.3048米

您应该在输出中看到“ 72.0 in”和“ 1.8288 m”,表明转换过程已经完成。

像所有单元子类一样,UnitLength类涵盖了从旧到新的大量单位。例如,您可以将英尺转换为天文单位,该单位等于地球与太阳之间的平均距离,即大约1.5亿公里:

代码语言:javascript复制
let heightAUs = heightFeet.converted(to: UnitLength.astronomicalUnits)

使用完一个单位后,其余单位的使用方法将完全相同。以下是一些帮助您入门的示例:

  • 将角度转换为弧度
代码语言:javascript复制
let degrees = Measurement(value: 180, unit: UnitAngle.degrees)
let radians = degrees.converted(to: .radians)
  • 将平方米转换为平方厘米
代码语言:javascript复制
let squareMeters = Measurement(value: 4, unit: UnitArea.squareMeters)
let squareCentimeters = squareMeters.converted(to: .squareCentimeters)
  • 将蒲式耳转换为英制茶匙
代码语言:javascript复制
let bushels = Measurement(value: 6, unit: UnitVolume.bushels)
let teaspoons = bushels.converted(to: .imperialTeaspoons)

老实说,我不知道蒲式耳与皇家茶匙的比例是多少,但是很高兴能有选择!!

0 人点赞