在 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 中将字符串转换为浮点数产生的值与模块错误不同的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中将字符串转换为浮点数

如何在python中将23位浮点数从字符串转换为浮点数并返回?

无法在python中将字符串转换为浮点数

在 C++ 中将字符串转换为浮点数

ValueError:无法在熊猫中将字符串转换为浮点数

如何在 JavaScript 中将字符串转换为浮点数?