相关疑难解决方法(0)

swift:将字符串转换为double的问题

这是Xcode 7.3.1 playground中的一个简单代码:

var str = "8.7" print(Double(str))

输出结果令人惊讶: Optional(8.6999999999999993)

还,Float(str)给出:8.69999981

对这个家伙的任何想法或理由?任何对此的参考将不胜感激.

另外,我应该如何将"8.7"​​转换为8.7为Double(或Float)?

编辑

在swift中:

(str as NSString).doubleValue返回8.7

现在,那没关系.但我的问题仍然没有得到完整答案.我们找到了另一种选择,但为什么我们不能依赖Double("8.7"​​).请更深入地了解这一点.

编辑2

("6.9"as NSString).doubleValue //打印6.9000000000000004

所以,问题又开始了.

cocoa cocoa-touch ios swift

8
推荐指数
1
解决办法
5121
查看次数

标签 统计

cocoa ×1

cocoa-touch ×1

ios ×1

swift ×1