虽然这对我来说似乎不太简单,但我似乎无法弄清楚如何对此进行编码。我正在尝试编写if / else if / else语句,但它不起作用。这就是我所拥有的:
for value in values {
if Float(value) > 0 {
print("positive")
} else if value == "N/A" {
print("not available")
} else {
print("negative")
}
}
值是一个字符串数组,其值为“1.0”,“N / A”或“-1.0”。通过数组迭代,如果它命中“N / A”,则会抛出错误。我觉得我需要将它嵌入try / catch块中。这是一个零错误。谢谢!
答案 0 :(得分:1)
试试这个
for value in values {
if let val = Float(value) {
if val > 0 {
print("positive")
} else {
print("negative")
}
} else {
print("not available")
}
}
答案 1 :(得分:1)
给定这个数组
let values = ["1", "-2", "N/A"]
你可以写
for value in values {
guard let number = Float(value) else {
print("N/A")
continue
}
switch number {
case 0: print("zero")
case _ where number < 0: print("negative")
case _ where number > 0: print("postive")
default: fatalError()
}
}
这是输出
postive
negative
N/A
答案 2 :(得分:0)
这个怎么样:
let values = ["1", "-2", "N/A"]
for value in values
{
print(
Float(value) == nil ? "not available" :
Float(value)! > 0 ? "positive"
: "negative"
)
}