【问题标题】:Can't convert and use string value in Double - Swift [duplicate]无法在 Double 中转换和使用字符串值 - Swift [重复]
【发布时间】:2018-10-25 22:57:08
【问题描述】:

我有一个简单的问题,但我无法解决。在我的程序中,我有一个带有自定义数组的 for 循环。该数组有 3 个值,每个字符串(由 Web 的 JSON 对象创建的数组)。每当我尝试以双精度形式访问这些字符串变量时,我都无法如图所示。

正如您在图片中看到的那样,我的目标是让纬度和经度值变为双精度值并在 CLLocationCoordinate2D 初始化中使用。但是字符串值的转换是针对纬度 = 35.32041000000002 如何将其转换为 6 位精度。谢谢大家。祝你有美好的一天。

【问题讨论】:

    标签: swift string double cllocation cllocationcoordinate2d


    【解决方案1】:

    阅读this 以了解浮点数。总而言之:并非所有数字都可以用Double 的 64 位精确表示。所以你最终会得到一些非常接近的东西,但有额外的数字,或者例如有一个长尾 9999999999

    转换成功。额外数字 (0.000000000000002) 的值不会受到影响,因为它们相当微不足道。

    【讨论】:

    • 它们很痛,因为我不能在 CLLocationCoordinate2D 方法中使用它们...
    • 因为在 init 方法中纬度和经度值得到了精度为 6 位的双精度,但我的变量有更多
    • 您的问题似乎是您不了解浮点数。您的程序没有问题。
    • 感谢您的帮助。我会阅读更多文档。
    • 祝你好运。我敢肯定,如果你多读一点,你就会明白;这很简单。我们都去过那里;新概念一开始可能会很混乱。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-21
    • 1970-01-01
    • 2015-10-23
    • 1970-01-01
    • 2014-11-18
    • 1970-01-01
    相关资源
    最近更新 更多