gpt4 book ai didi

ios - Swift - 来自字符串的 NumberFormatter 数字对于 iPhone 8 返回 nil 但适用于其他设备

转载 作者:行者123 更新时间:2023-11-28 14:25:17 25 4
gpt4 key购买 nike

我正在开发一个 iOS 应用程序,它使用位置在 map 上绘制。下面的代码用于创建一个 CLLocationCoordinate2D 对象。

let locationData = ["12.9716","77.5946"]
let latitude = NumberFormatter().number(from: locationData[0] as! String)
let longitude = NumberFormatter().number(from: locationData[1] as! String)
print("Latitude Info -> \(String(describing: latitude?.doubleValue))")
print("Longitude Info -> \(String(describing: longitude?.doubleValue))")
let location = CLLocationCoordinate2DMake((latitude?.doubleValue)!, (longitude?.doubleValue)!)

该代码在 iPhone 6 和其他设备上运行良好,但在 iPhone 8 上,纬度和经度值返回 nil。

这种行为很奇怪,因为这是特定于特定设备集的情况。

问题已通过使用 Double(locationData[0] as!String) 解决,但想知道此行为的原因。

最佳答案

尝试检查返回nil的iPhone的系统语言和区域设置。

NumberFormatter 有 'locale' 属性,默认值为 locale.current。

例如。当区域设置为“en-DE”时,“12.9716”将返回 nil。

关于ios - Swift - 来自字符串的 NumberFormatter 数字对于 iPhone 8 返回 nil 但适用于其他设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51646841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com