gpt4 book ai didi

swift - 生成一定数量的数字的随机数

转载 作者:搜寻专家 更新时间:2023-10-30 22:22:09 28 4
gpt4 key购买 nike

你好,

我有一个非常基本的问题是:

我如何在 Swift 中创建一个 20 位无 float 无负数(基本上是 Int)的随机数?

谢谢大家的回答XD

最佳答案

第一步

首先我们需要Int的扩展来生成一个范围内的随机数。

extension Int {
init(_ range: Range<Int> ) {
let delta = range.startIndex < 0 ? abs(range.startIndex) : 0
let min = UInt32(range.startIndex + delta)
let max = UInt32(range.endIndex + delta)
self.init(Int(min + arc4random_uniform(max - min)) - delta)
}
}

可以这样使用:

Int(0...9) // 4 or 1 or 1...
Int(10...99) // 90 or 33 or 11
Int(100...999) // 200 or 333 or 893

第二步

现在我们需要一个函数来接收请求的位数、计算随机数的范围并最终调用 Int 的新初始化程序。

func random(digits:Int) -> Int {
let min = Int(pow(Double(10), Double(digits-1))) - 1
let max = Int(pow(Double(10), Double(digits))) - 1
return Int(min...max)
}

测试

random(1) // 8
random(2) // 12
random(3) // 829
random(4) // 2374

关于swift - 生成一定数量的数字的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31952208/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com