【问题标题】:floating point value can not be converted to UInt32 because it is greater than UInt32.max getting in swift浮点值无法转换为 UInt32,因为它大于 UInt32.max 进入 swift
【发布时间】:2016-03-15 12:31:28
【问题描述】:

浮点值无法转换为 UInt32,因为它大于 UInt32.max 得到这个异常而

var timeSec = UInt32(NSDate().timeIntervalSince1970 * 1000)

【问题讨论】:

  • 错误信息很清楚。你的问题是什么? (请注意,还有另一种整数数据类型能够保存更大的值。)

标签: ios swift


【解决方案1】:

UInt32 的范围对于您的变量来说不够大。您可以在 Playground 中进行测试。常量UINT32_MAX4294967295,比你的值小很多。使用UInt64:

var timeSec = UInt64(NSDate().timeIntervalSince1970 * 1000)

【讨论】:

  • 我用过,但我只需要 UINT32,因为 arc4random_uniform 只需要 uiint32 参数
猜你喜欢
  • 2022-11-01
  • 1970-01-01
  • 2017-10-15
  • 2014-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多