swift将字符串转换为float

时间:2016-02-12 03:20:08

标签: ios swift

我有一张桌子:

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

我需要将所选条目转换为等于条目数值十倍的字符串。

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

这会引发异常:

  

致命错误:在解包可选值时意外发现nil

1 个答案:

答案 0 :(得分:4)

你遇到崩溃的原因是因为Float(tempCTCSS)!正在尝试将tempCTCSS转换为Float,但它失败了,然后你强制打开该值并且它是nil,所以它崩溃了。

  1. 无法将该字符串转换为Float的原因是因为存在空格。尝试删除空格。

  2. 除非你知道那个值存在,否则我永远不会强行打开(即!)。最佳做法是将该值包装在if let语句中。这有条件地解开了价值并防止崩溃