Swift-for循环语句不接受绝对值
这是个奇怪的问题,但我在操场上设置了以下代码:Swift-for循环语句不接受绝对值,swift,for-loop,if-statement,math,Swift,For Loop,If Statement,Math,这是个奇怪的问题,但我在操场上设置了以下代码: let currentNumber = "1999999999" let absNumber = abs(Double(currentNumber)!) var digitCount = 0 if absNumber > 999999999 { for n in currentNumber { if n.isN
let currentNumber = "1999999999"
let absNumber = abs(Double(currentNumber)!)
var digitCount = 0
if absNumber > 999999999 {
for n in currentNumber {
if n.isNumber {
digitCount += 1
} else {
break
}
print(digitCount)
}
}
正如所写的,这段代码将被计算,并且我的for循环将运行……但是,如果将我的字符串设置为“-199999999”,则for循环不会运行。-1999999999的绝对值比99999999大100%,所以我遗漏了什么?您不了解的是控制流操作符。只需更改一行即可获得预期的行为:
如果n.isNumber{
数字计数+=1
}否则{
中断//此处更改以继续
}
为此:
如果n.isNumber{
数字计数+=1
}否则{
持续
}
但是,我强烈建议您在Xcode项目中尝试LLDB,无论是命令行工具还是应用程序。对于这样的逻辑问题,Steppover工具非常有用