在Swift中将Int转换为Double

sha*_*dox 39 ios swift

label.text = String(format:"%.1f hour", theOrder.bookingMins/60.0)
Run Code Online (Sandbox Code Playgroud)

上面的代码只是得到错误:'Int' is not convertible to 'Double'

bookingMins是Int类型,那么如何在Swift中将Int转换为Double?似乎不像C中那么简单

Yog*_*ton 100

尝试 Double(theOrder.bookingMins)

  • @shadow:`Double(theOrder.bookingMins/60.0)`不起作用,因为`bookingMins`是一个Int,但你试图将它除以一个双精度(60.0).你_first_必须通过`Double(theOrder.bookingMins)`转换`bookingMins`,然后你可以除以60.0因为只有这两个是相同的类型. (4认同)

Egz*_*ifi 5

我更喜欢做的是使用计算属性。所以我喜欢创建 Double 的扩展,而不是添加如下属性:

extension Int {
  var doubleValue: Double {
    return Double(self)
  }
}
Run Code Online (Sandbox Code Playgroud)

比起您可以非常 Swifty 的方式使用它,我相信 Swift 语言的未来更新将是类似的。

let bookingMinutes = theOrder.bookingMins.doubleValue
Run Code Online (Sandbox Code Playgroud)

在你的情况下

label.text = String(format: "%.1f hour", bookingMinutes / 60.0) 
Run Code Online (Sandbox Code Playgroud)

使用的风格指南:https : //github.com/raywenderlich/swift-style-guide