专栏首页韦弦的偶尔分享Swift 如何使用Uint和Measurement转换单位

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

SI

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

let heightFeet = Measurement(value: 6, unit: UnitLength.feet)

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

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

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亿公里:

let heightAUs = heightFeet.converted(to: UnitLength.astronomicalUnits)

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

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Swift编程小技巧

    Swift中有很多有用的小技巧,用好了能使代码更加安全,简洁,易于理解或效率更加高效,在这记录一些编写swifty code的小技巧。

    韦弦zhy
  • Hacking with iOS: SwiftUI Edition - Word Scramble 项目——使用字符串

    iOS为我们提供了一些功能非常强大的API,用于处理字符串,包括将它们拆分为数组,删除空格甚至检查拼写的能力。

    韦弦zhy
  • 是什么使代码 “Swifty”? —— Safe

    尽管编程语言是由其语法正式定义的,但实际上在实践中使用它们的方式还是可以由它们当前的约定来确定的。毕竟,就语法而言,大多数受“ C影响 ” 的语言看起来都非常相...

    韦弦zhy
  • 汇聚顶尖基金公司与AI领袖,征集百万亿美元掌门人 | 峰会邀请

    普华永道近日发布的一份报告中指出,资产管理机构对精通科技和金融的复合型人才需求强烈,人工智能、机器学习、大数据建模等领域人才均受到热捧,年薪百万仅为起步价。为给...

    华章科技
  • Object.assign()

    Object.assign方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)。

    李才哥
  • 从面试官角度观察到的程序员技能瓶颈,同时给出突破瓶颈的建议!

    原文链接:https://www.cnblogs.com/JavaArchitect/p/11616851.html

    一枚小工
  • vue -- config.js 配置跨域文件

    1、在使用vue开发的时候经常要涉及到跨域的问题,其实在vue cli中是有我们设置跨域请求的文件的。

    小蔚
  • Threading in Python-

    原文是2.x版本的,然后应该是英文的.我在学习的过程中,同时改成python 3.3并且改成中文,引入一些自己的理解.

    py3study
  • 细数 20 世纪最伟大的十大算法

    英文:Barry A. Cipra 译者:JULY 链接:blog.csdn.net/v_july_v/article/details/6127953 发明...

    智能算法
  • 细数20世纪最伟大的10大算法

    [1946: John von Neumann, Stan Ulam, and Nick Metropolis, all at the Los Alamos S...

    哲洛不闹

扫码关注云+社区

领取腾讯云代金券