Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 如何获取Int值的所有数字_Swift_Swift3 - Fatal编程技术网

Swift 如何获取Int值的所有数字

Swift 如何获取Int值的所有数字,swift,swift3,Swift,Swift3,是否可以在Swift中获取Int变量的所有数字,而不将该变量转换为字符串 我现在是如何做到这一点的小示例: let number = 123456 let array = String(number).characters.map{Int(String($0)) ?? 0} 像这样的 var number = 123456 var array = [Int]() while number > 0 { array.append(number % 10) number =

是否可以在Swift中获取
Int
变量的所有数字,而不将该变量转换为
字符串

我现在是如何做到这一点的小示例:

let number = 123456

let array = String(number).characters.map{Int(String($0)) ?? 0}
像这样的

var number = 123456
var array = [Int]()

while number > 0 {
    array.append(number % 10)
    number = number / 10
}
array.reverse()

这里有一个单行程序,虽然它可能比您原来的效率低:
let array=(0…Int(cel(log10(Float(number)))-1)。reversed().map{(number/Int(NSDecimalNumber(decimalnumber:pow(decimal:pow(10,$0)))%10}