我有一个字典作为服务器的响应:
{
"gross_price" = "6.00";
"gross_price_total" = "6.00";
"guests_count" = 1;
}
然后我尝试:
let x = dictionary["gross_price_total"] as? Double
let y = dictionary["gross_price_total"]!
println("result: \(x) \(y)")
作为输出我得到:
result: nil 6.00
为什么呢?它不是Double
吗?
结果是我的最终代码不起作用:
if let grossPriceTotal = dictionary["gross_price_total"] as? Double {
println("final result: \(grossPriceTotal)")
}
答案 0 :(得分:2)
这应该让你去:
let x = (dictionary["gross_price_total"] as NSString).doubleValue
答案 1 :(得分:1)
您可以创建一个扩展程序,您可以使用字符串初始化Double。但是你必须使用NSString方法doubleValue
:
extension Double{
init(string:String){
self = (string as NSString).doubleValue
}
}
let x = Double(string: dictionary["gross_price_total"])