在 Apple Swift 中将字符串转换为浮点数产生的值与模块错误不同
Posted
技术标签:
【中文标题】在 Apple Swift 中将字符串转换为浮点数产生的值与模块错误不同【英文标题】:Converting string to float in Apple Swift yields value not identical to module error 【发布时间】:2014-06-04 00:18:41 【问题描述】:我可以用println
打印出我的字符串systemVersion
,我得到:
8.0
但是当我尝试使用以下方法转换它时:
float(systemVersion)
我收到两个错误提示:
模块名称后的预期模块成员名称
&
(@lvalue string) -> ST1 与模块不同
这可能意味着什么?
【问题讨论】:
【参考方案1】:您应该使用systemVersion.bridgeToObjectiveC().floatValue
,或(systemVersion as NSString).floatValue
【讨论】:
我得到“找不到接受所提供参数的“init”的重载:(【参考方案2】:来自一个十进制指示符是“,”而不是“.”的国家,我立刻闻到了一些东西。
在这里,如果你在操场上这样做:
let systemVersion = "8.0"
Float(systemVersion)
您将获得一个具有正确值的健康浮点数(注意逗号)。
但是,如果你对点做同样的事情:
let systemVersion = "8,0"
Float(systemVersion)
你会得到一个错误(找不到接受所提供参数的“init”的重载)。
您的问题可能与您所在国家/地区的十进制格式有关吗?再见,
【讨论】:
以上是关于在 Apple Swift 中将字符串转换为浮点数产生的值与模块错误不同的主要内容,如果未能解决你的问题,请参考以下文章