2016-02-12 95 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声明中。这有条件地解开价值,并防止崩溃