如何转换数字类型?

How to cast numeric types?

我正在使用 Xcode playground 在 swiftdowncast。类型转换通常允许我使用 swift 中的 As 运算符将类型转换为派生类型。但是当我尝试将 var a 类型转换为 Double,String 时它给了我错误。提前致谢!!

   var a = 1
   var b = a as Int
   var c = a as Double
   var d = a as String

试试这个:

var a = 1
var b = Int(a)
var c = Double(a)
var d = String(a)

Cast as Int 有效,因为 a 是 Int

你应该这样做:

var c = Double(a)
var d = toString(a) //or String(a)

你们不能互相投射,因为他们没有关系。您只能转换相关的类型,例如 UILabelUIView[AnyObject][String]。将 Int 转换为 Double 就像尝试将 CGPoint 转换为 CGSize

因此,例如,要将 Int 更改为 Double,您必须通过 Double(Int)Int 创建一个新的 Double。 =24=]

这适用于所有数字类型,如 UInt Int64 Float CGFloat