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