swift学习之数据转换

swift 不存在隐式转换,只有显式转换。数据转换,比如把int 转换float或者double类型

/*
swift 不存在隐式转换,只有显式转换
*/
//let 名字:类型 = ***
let number1:Double = 10.0
let number2:Int = 10

//如果number1和number2相加的话,要把他们的类型变成一致才可以相加
//var sum = number1 + number2 //这种写法是报错的
/*
要把number类型转换double类型
int 转换double 使用  Double(转换的对象)
*/
var sum = number1 + Double(number2)

查看Double()方法可以发现

extension Double {
    public init(_ v: UInt8)
    public init(_ v: Int8)
    public init(_ v: UInt16)
    public init(_ v: Int16)
    public init(_ v: UInt32)
    public init(_ v: Int32)
    public init(_ v: UInt64)
    public init(_ v: Int64)
    public init(_ v: UInt)
    public init(_ v: Int)
}

extension Double {
    /// Construct an instance that approximates `other`.
    public init(_ other: Float)
    /// Construct an instance that approximates `other`.
    public init(_ other: Float80)
}

可以将这些UInt8 Int8 ......这些类型转换
其他类型的转换不在一一累述,同样的道理。

其他的一些转换例子:

//字符串转换int
let numberString = "100"
var numberInt = Int(numberString)
//字符串转换double
let doubleString = "100.00"
var numberDouble = Double(numberString)

你可能感兴趣的:(swift学习之数据转换)