在Apple Swift中将字符串转换为float会产生与模块错误不同的值

时间:2014-06-04 00:18:42

标签: ios swift

我可以用systemVersion打印出我的字符串println,然后我得到:

  

8.0

但是当我尝试使用以下方法转换它时:

float(systemVersion)

我有两个错误说:

  

模块名称后的预期模块成员名称

&安培;

  

(@ lvalue string) - > ST1与模块

不同

这可能意味着什么?

2 个答案:

答案 0 :(得分:1)

您应该使用systemVersion.bridgeToObjectiveC().floatValue(systemVersion as NSString).floatValue

答案 1 :(得分:0)

来自一个十进制指标是“,”而不是“。”的国家,我立刻闻到了一些东西。

在这里,如果你在操场上这样做:

let systemVersion = "8.0"
Float(systemVersion)

你将获得一个具有正确值的健康浮动(注意逗号)。

但是,如果你用点做同样的事情:

let systemVersion = "8,0"
Float(systemVersion)

你会收到一个错误(找不到接受提供的参数的'init'的重载)。

您的问题可能与您所在国家/地区的小数格式有关吗?再见,