Ios 在Swift 2.2中将Int64转换为浮点
请让我知道我在下面的语句中做错了什么,这不是编译(我将Int64转换为浮点)Ios 在Swift 2.2中将Int64转换为浮点,ios,swift,Ios,Swift,请让我知道我在下面的语句中做错了什么,这不是编译(我将Int64转换为浮点) 在Swift中进行铸造的方式略有不同: var expectedDownloadSize = Float(response.expectedContentLength) 实际上,您使用的是Float的初始化器,而不是强制转换为一个值,它接受Int64参数。看起来您在几个地方混淆了Obj-C和Swift。正如Robert所说,您需要将您希望大小写的值放在围绕类型的括号内,例如:Float(response.expect
在Swift中进行铸造的方式略有不同:
var expectedDownloadSize = Float(response.expectedContentLength)
实际上,您使用的是
Float
的初始化器,而不是强制转换为一个值,它接受Int64
参数。看起来您在几个地方混淆了Obj-C和Swift。正如Robert所说,您需要将您希望大小写的值放在围绕类型的括号内,例如:Float(response.expectedContentLength)。
还值得注意的是,Swift中的NSLog
已被弃用,而支持print(…)
。此外,您不再需要显式声明变量类型,因为Swift将自动选择该类型。在Swift中,您可以这样做:
var expectedDownloadSize:Float=Float(response.expectedContentLength)
试试看这个答案与现有答案完全相同,我建议你删除它。大家好,实际上,在我发布问题后,我得到了错误并解决了问题,但int64数字没有转换为浮点…:(我得到的是浮点1.34597e+08,但我不想使用这种科学符号。我如何转换?您可以检查:
var expectedDownloadSize = Float(response.expectedContentLength)