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)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容