swift 3.0:as語法與強制型別轉換的一些理解

weixin_34290000發表於2016-11-11

版權宣告:部落格轉載時,請標明本部落格出處:http://www.jianshu.com/p/e3809b9883c5

在開發過程中,我們會碰到將一個浮點數轉換成整數的情況,如:將42.5轉換成整形42,做法如下

let num1 = Int(42.5)

如果此時使用as語法,會報轉換錯誤:

3288829-89e0ce0fe3397cd1.png
Swift 3.0使用as語法強制轉換的出錯情況

剛接觸as語法時,誤以為as就是swift中的強制轉換;總結一下:

在數值型別(整型,浮點型等)中,as用來指定數值型別,不能用於強制型別轉換

3288829-577e7a344f8690dd.png
as用來指定數值型別

如圖所示,當42被指定為浮點型時, num1值為42.0;當42指定為整型時,還是42;但num3就出錯了,為什麼? 因為42.5本來就能就是浮點型,所以不能通過指定型別的方式來轉變成整型,只能通過Int(42.5)強制轉變來;

其他用途,請參考部落格 http://www.hangge.com/blog/cache/detail_1089.html

相關文章