-1

我不能从字符串转换为双精度..从 api 接收的数据已经是一个字符串

我试过Double(lat)但没有用

let lat  = clientLIst.data?[indexPath.row].clientLat
let Clientlat = Double(lat)
let long  = clientLIst.data?[indexPath.row].clientLong
let Clientlong = Double(long)

错误是

无法使用类型为“(String?)”的参数列表调用类型“Double”的初始化程序

4

2 回答 2

0

lat and long are String? types, so you need to unwrap them before using,

if let lat  = clientLIst.data?[indexPath.row].clientLat {
    let Clientlat = Double(lat)
}
if let long  = clientLIst.data?[indexPath.row].clientLong {
    let Clientlong = Double(long)
}
于 2019-06-11T05:33:00.237 回答
0

You should first safely unwrap clientLat and clientLong due to it's String type with optional.

guard let lat  = clientLIst.data?[indexPath.row].clientLat else {
    return
}

guard let long  = clientLIst.data?[indexPath.row].clientLong else {
    return
}

let Clientlat = Double(lat)
let Clientlong = Double(long)
于 2019-06-11T05:33:16.517 回答