Swift - 二元运算符'> ='不能应用于' String'类型的操作数和' Int'

时间:2017-10-24 15:07:24

标签: swift

不太明白为什么这不起作用。我对Swift世界很陌生。

我得到的错误是Binary operator '>=' cannot be applied to operands of type 'String' and 'Int'

有谁能帮助我理解为什么我会收到此错误?我是否需要将字符串转换为Double或者还有其他我完全缺失的东西?我再次成为Swift的新手。

1 个答案:

答案 0 :(得分:1)

  

我是否需要将String转换为Double?

是的,基本上就是这样。

您必须首先声明一个变量来累积所有输入:

var inputs = [Double]()

注意我正在声明一个Double数组,因为这是我们感兴趣的。

然后,每次询问输入时,将获得的String转换为Double并将其存储在数组中:

print("Please enter a temperature\t", terminator: "")
var message : String = readLine()!
let value : Double = Double(message)!
inputs.append(value)

最后,检查inputs中的所有累计值(你有这个部分的权利):

for value in inputs {
    // value is already a Double
    if value >= 80 { 
        message = "hot!"
    }
    // etc.
}

我建议研究如何通过错误检查转换为Double(即如何检测“100 hot!”并忽略它,因为无法转换)。

另外,请考虑使用循环来读取值。