閱讀485 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Swift學習之三:整型與浮點型

/* 整型轉換
   不同類型的整型常量或者變量能夠存儲的數值範圍是不同的。
   Int8整型常量或者變量能夠存儲的數值是-128到127,而UInt8整型常量或者變量能夠存儲的
   數值範圍是0到255.當編譯的時候,數值越界是不會自動得到合適的值的,而且會編譯出錯。
/*
let cannotBeNegative: UInt8 = -1 // UInt8類型是不能存儲負數的,所以會報告錯誤

// Int8類型能夠存儲的最大值是Int8.max,再加1就會溢出
// 溢出分為上溢和下溢,這裏會是上溢,Int8.max是255,對應二進製值是0111 1111
// 這裏會報告錯誤
let tooBig: Int8 = Int8.max + 1  

// swift中數值是可以用_來分隔
// twoThousand是UInt16類型
let twoThousand: UInt16 = 2_000 
// one是UInt8類型
let one: UInt8 = 1
// twoThousand是UInt16類型,one是UInt8類型,如果要執行相加,那麼就需要進行類型轉換
// 因為Swift不會像C、OC那樣自動隱式轉換類型,所以我們需要手動進行類型轉換
// 否則會報錯的。
let twoThousandAndOne = twoThousand + UInt16(one)

/*
  整型與浮點型轉換
  整型與浮點型轉換必須要顯示轉換
*/
// three是自動判斷出是Int類型
let three = 3
// pointOneFourOneFiveNine是自動判斷出是Double類型
let pointOneFourOneFiveNine = 0.14159
// 而這裏執行相加,但兩種變量是不同的類型,因此需要顯示進行轉換,
// 所以這裏把整型轉換成了Double類型後,再相加
let pi = Double(three) + pointOneFourOneFiveNine

// 同理,浮點型轉換成整型也需要手動轉換,這裏把Double或者是Float類型轉換成Int類型
// 浮點值轉換成整型時,會截尾,也就是說如果pi是4.75,那麼轉換成整型後,值就變成了4
// 如果pi是-3.9,那麼轉換成整型後,值就變成了-3
let integerPi = Int(pi)

最後更新:2017-04-03 07:57:20

  上一篇:go J2EE中EL表達式
  下一篇:go android之自定義ViewGroup和自動換行的布局的實現