有没有办法确定数组中的int是单数还是双数?

时间:2015-08-07 10:08:27

标签: swift

是否可以确定数组中的int是单数还是双数?

例如,这个数组:[2,4,14,77]

array[0]是一个数字,我会得到一个输出会说它是一个数字, 而array[2]是两位数,所以输出会说是双倍。

如何做到这一点?

4 个答案:

答案 0 :(得分:2)

只需检查数字是否大于9或小于-9。

for n in numArray {
    if n > 9 || n < -9 {
        println("double")
    } else {
        println("single")
    }
}

您甚至可以将其添加为Int的扩展名以使其更方便:

extension Int {
    func isDouble() -> Bool {
        if self > 9 || self < -9 {
            return true
        } else {
            return false
        }
    } 
}

然后你可以在这样的上下文中使用它&#34;

for n in numArray {
    var digits = (n.isDouble()) ? "double" : "single"
    println("Number \(n) is \(digits)")
}

答案 1 :(得分:1)

如何将Int转换为String然后计算字符或将值与值10进行比较,或者将数组映射到具有1或2 ex的数组

let mapped = array.map({(int:Int) -> Int in

    if int < 10{

        return 1
    }else{
        return 2
    }

})

println(mapped[0])

println(mapped[3])

答案 2 :(得分:1)

你可以这样做:

var numbers = [2,4,14,77]

for item in numbers {

    let digit = map(item.description) {($0)}.count
    println(digit)
}

结果将是:

1
1
2
2

答案 3 :(得分:0)

您可以这样做:

var arr = [2,4,14,77]

for num in arr {

    if num/10 > 0 {
        println("more than one digit \(num)")
    } else {
        println("one digits \(num)")
    }

}