/*
Swift不允许隐式类型转换, 但可以使用显示类型转换(强制类型转换)
OC:
int intValue = 10;
double doubleValue = (double)intValue;
Swift:
*/
var intValue:Int = 10
var doubleValue:Double
doubleValue = Double(intValue)
// 注意:Double()并不会修改intValue的值, 而是通过intValue的值生成一个临时的值赋值给doubleValue
print(intValue)
Swift不允许隐式类型转换, 但可以使用显示类型转换(强制类型转换)
OC:
int intValue = 10;
double doubleValue = (double)intValue;
Swift:
*/
var intValue:Int = 10
var doubleValue:Double
doubleValue = Double(intValue)
// 注意:Double()并不会修改intValue的值, 而是通过intValue的值生成一个临时的值赋值给doubleValue
print(intValue)
print(doubleValue)
例如下面一段代码,如果是oc的话会自动把 num1转化为10.0 然后和num2相加再赋值给sum,但是在swift中则不行,如下报错了
正确写法:
import UIKit
let num1 = 10
let num2 = 9.9
// 错误写法 let sum = num1 + num2
let isum = Double(num1) + num2
let dsum = num1 + Int(num2)
//: Playground - noun: a place where people can play
import UIKit
let num1 = 10
let num2 = 9.9
// 错误写法 let sum = num1 + num2
let isum = Double(num1) + num2
let dsum = num1 + Int(num2)
//swift是强语言 oc是弱语言
//let num:Int = 10.1 //因为swift没有隐式转换 num是个int类型的却被赋值一个double类型的所以会报错
//正确学写法
let num3:Int = Int(10.1)