是否可以确定数组中的int
是单数还是双数?
例如,这个数组:[2,4,14,77]
array[0]
是一个数字,我会得到一个输出会说它是一个数字,
而array[2]
是两位数,所以输出会说是双倍。
如何做到这一点?
答案 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)")
}
}