Swift:" float不能转换为int"

时间:2014-08-05 23:15:22

标签: swift

如何将此转换为Int?我尝试过使用初始化器:Int(),使用round方法..所有这些都会产生错误。在这种情况下,我得到的是:“float不能转换为int”

  let CirclePoints = 84
  let PI = 3.14159

  let radius: Double!
  let xBase: Int!
  let yBase: Int!
  var xPos = Int()
  var yPos = Int()

  xPos = round(xBase + radius * cos((PI / 10) * circlePoint))

1 个答案:

答案 0 :(得分:3)

我建议将所有值转换为double,因为这是round函数所需的值。 round函数也返回一个double,因此你必须将round()的结果转换为Int以将其存储在xPos中。

xPos = Int(round(Double(xBase) + Double(radius) * cos((PI / 10) * Double(circlePoint))))

请注意,此处的转换过程实际上是从变量创建新的double值,而不是更改这些变量。