2016-02-12 123 views
0

我有一個表:迅速字符串轉換爲浮動

let CTCSStable:[String] = [ "67.0 ", "69.3 ", "71.9 "] 

我需要一個選擇的條目轉換爲等於十倍項的數值的字符串。

var tempCTCSS:String = self.CTCSStable[ctcssIndex] 
let tempCTCSSF:Float = Float(tempCTCSS)! 

這將引發異常:

fatal error: unexpectedly found nil while unwrapping an Optional value

回答

4

你正在崩潰的原因是因爲Float(tempCTCSS)!試圖tempCTCSS轉換成浮動,但失敗了,然後就強制打開那價值它是零,所以它崩潰。

  1. 它無法將該字符串轉換爲Float的原因是因爲有空白。嘗試刪除空格。

  2. 除非你知道那個值是否存在,否則我絕不會強制展開(即!)。最佳做法是將該值包含在if let聲明中。這有條件地解開價值,並防止崩潰