如何在Swift中找到Double和Float的最大值

前端之家收集整理的这篇文章主要介绍了如何在Swift中找到Double和Float的最大值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当前学习Swift,有很多方法可以找到不同种类的Integer的最大值和最小值,如Int.max和Int.min。

有没有办法找到Double和Float的最大值?此外,我应该提到哪种文件这种问题?我目前正在读苹果的Swift编程语言。

虽然没有Double.max,它在C float.h头中定义,你可以通过import Darwin在Swift中访问它。
  1. import Darwin
  2.  
  3. let fmax = FLT_MAX
  4. let dmax = DBL_MAX

这些分别是大约3.4 * 10 ^ 38和1.79 * 10 ^ 308。

但要记住,浮点数并不简单(浮点数从来不是这么简单)。当保持数字这么大,你失去精度,以类似的方式丢失精度与非常小的数字,因此:

  1. let d = DBL_MAX
  2. let e = d - 1.0
  3. let diff = d - e
  4. diff == 0.0 // true
  5.  
  6. let maxPlusOne = DBL_MAX + 1
  7. maxPlusOne == d // true
  8.  
  9. let inf = DBL_MAX * 2
  10. // perhaps infinity is the “maximum”
  11. inf == Double.infinity // true

所以在你进行一些计算,可能会刷新这些限制之前,你应该可以读取浮点。 Herehere可能是一个好的开始。

猜你在找的Swift相关文章