在以下代码中,我无法弄清楚如何将Int
类型的值转换为Double
的预期参数类型mph = kph * 0.6214
:
var mph : Double!
var kph : Float!
print("KPH MPH")
print("------------")
for kph in 60.stride(to: 130, by: 10) {
mph = kph * 0.6214
print("\(kph) \(mph)")
}
如何对for
进行编程以产生所需的结果?
答案 0 :(得分:5)
对于Double / Int的东西,你只需要做Double(Int)*。似乎您需要使用更新版本的步幅。我相信这是正确的:
for kph in stride(from: 60, to: 130, by: 10) {
mph = Double(kph) * 0.6214
print("\(kph) \(mph)")
}
*虽然你似乎未定,如果kph应该是Float或Int,而你输出的kph不是你定义为Float的kph。如果你的计划是在其他地方使用这个值,你似乎可能会遇到麻烦。
答案 1 :(得分:3)
只需将初始值声明为文字npm run build:js
(添加Double
)
.0
然后编译器将函数的类型推断为for kph in 60.0.stride(to: 130, by: 10) {
并隐式转换其他文字。