1 string double null json swift3
尝试做这么简单的事情,但是对我来说根本行不通。
码:
let long = index["Longitude"] as! String
let lat = index["Latitude"] as! String
print(long as Any)
print(lat as Any)
let doubleLong = Double(long)
print(doubleLong as Any)
Run Code Online (Sandbox Code Playgroud)
调试输出:
-85.1113644443208
32.880541654362
nil
Run Code Online (Sandbox Code Playgroud)
^^^为什么这么零?我将添加这是从JSON响应中提取的。也许这与它有关。
请注意,您的数据很可能还有额外的空间,请注意:
print(Double("-85.1113644443208")) // => Optional(-85.111364444320799)
print(Double("-85.1113644443208 ")) // => nil
print(Double(" -85.1113644443208")) // => nil
Run Code Online (Sandbox Code Playgroud)
尝试先修剪空间:
let doubleLong = Double(long.trimmingCharacters(in: CharacterSet.whitespaces))
Run Code Online (Sandbox Code Playgroud)
或使用NumberFormatter进行解析:
let numberFormatter = NumberFormatter()
numberFormatter.numberStyle = .decimal
numberFormatter.locale = Locale(identifier: "en_US_POSIX")
print(numberFormatter.number(from: "-85.1113644443208") as Double?) // => Optional(-85.111364444320799)
print(numberFormatter.number(from: " -85.1113644443208") as Double?) // => Optional(-85.111364444320799)
print(numberFormatter.number(from: "-85.1113644443208 ") as Double?) // => Optional(-85.111364444320799)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1119 次 |
| 最近记录: |