如何转换数字类型?
How to cast numeric types?
我正在使用 Xcode playground 在 swift 中 downcast。类型转换通常允许我使用 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)
你们不能互相投射,因为他们没有关系。您只能转换相关的类型,例如 UILabel
和 UIView
或 [AnyObject]
和 [String]
。将 Int
转换为 Double
就像尝试将 CGPoint
转换为 CGSize
因此,例如,要将 Int
更改为 Double
,您必须通过 Double(Int)
为 Int
创建一个新的 Double
。 =24=]
这适用于所有数字类型,如 UInt Int64 Float CGFloat
等
我正在使用 Xcode playground 在 swift 中 downcast。类型转换通常允许我使用 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)
你们不能互相投射,因为他们没有关系。您只能转换相关的类型,例如 UILabel
和 UIView
或 [AnyObject]
和 [String]
。将 Int
转换为 Double
就像尝试将 CGPoint
转换为 CGSize
因此,例如,要将 Int
更改为 Double
,您必须通过 Double(Int)
为 Int
创建一个新的 Double
。 =24=]
这适用于所有数字类型,如 UInt Int64 Float CGFloat
等