如何投射数字类型?

时间:2015-03-13 09:16:32

标签: ios swift casting swift-playground typecasting-operator

我正在 swift 中使用Xcode游乐场向下滚动。类型转换通常允许我使用Swift中的As运算符将类型转换为派生类型。但是当我尝试将var a作为Double,String进行类型转换时,它会给我错误。在此先感谢!!

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

3 个答案:

答案 0 :(得分:4)

你不能把它强加给对方,因为它们没有联系。您只能投放与UILabelUIView[AnyObject][String]相关的类型。将Int投射到Double就像试图将CGPoint投射到CGSize

因此,要将Int更改为Double,您必须通过执行Double制作Int的新Double(Int)

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

答案 1 :(得分:0)

试试这个:

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

答案 2 :(得分:0)

Cast as Int的工作原理,因为a是Int

你应该这样做:

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