let json = [
"left" : 18,
"deadline" : "May 10",
"progress" : 0.6
] as [String: AnyObject]
let ss = json["progress"] as? Float
let sss = json["progress"] as? Double
print("ss = \(ss)\n sss = \(sss)")
我不知道爲什麼ss
顯示爲零,而sss
顯示0.599999998
。爲什麼鑄造到Float
得到零?你們有一些方法,以便我可以得到正確的結果嗎?斯威夫特:AnyObject投漂浮失敗
你應該使用any而不是AnyObject let json:[String:Any] = [「left」:18,「deadline」:「May 10」,「progress」:0.6]' –
如果你想存儲一個Float你需要將它指定爲'Float(0.6)',否則編譯器會推斷出類型(Double) –
我試圖使用Any,但是它產生了沒有意義。 – Elena