小编den*_*T30的帖子

Swift randomFloat问题:“ 4294967295”不能完全表示为“ Float”

当生成随机CGFloat时,我使用以下代码。这里的一些解释

extension CGFloat{
     static func randomFloat(from:CGFloat, to:CGFloat) -> CGFloat {
          let randomValue: CGFloat = CGFloat(Float(arc4random()) / 0xFFFFFFFF)
          return randomValue * (to - from ) + from
      } 
}
Run Code Online (Sandbox Code Playgroud)

过去还可以。现在工作正常。

我升级到Swift 5后出现警告。

“ 4294967295”不能完全表示为“ Float”;它变成'4294967296'

到代码行

let randomValue: CGFloat = CGFloat(Float(arc4random()) / 0xFFFFFFFF)
Run Code Online (Sandbox Code Playgroud)

如何解决?

swift swift5

6
推荐指数
2
解决办法
605
查看次数

标签 统计

swift ×1

swift5 ×1