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工具非常有用