0 和文本框文本之间的随机数
Random number between 0 and textbox text
所以我想生成一个0到numberTextBox.text之间的随机数。
假设文本框文本是5,那么我想生成一个0到5之间的随机数。
我现在有:
@IBAction func nextButton(sender: AnyObject) {
let maxInteger = MacNumber.toInt()!
let randomNumber = arc4random_uniform(UInt32(maxNumber));
let mxNumber = numberTextBox.text
var textString = String(randomNumber)
numberLabel.text = textString
}
但是当我测试应用程序并在文本框中键入 5 时,numberLabel.text 类似于 192819371..它非常高。
也许你应该试试 let randomNumber = random() % MaxNumber
代替
let randomNumber = random(); MaxNumber
?
不要使用random(),使用arc4random()
或arc4random_uniform()
。 random()
需要播种并且将 return 每次播种后相同种子的相同序列。
let maxInteger = MaxNumber.toInt()!
let randomNumber = arc4random_uniform(UInt32(maxNumber));
arc4random()
不需要播种和 returns 加密质量随机数。
当需要约束范围时使用arc4random_uniform()
而不是模运算%
来消除模偏差。
如果要在Swift中生成随机数,请使用arc4random_uniform()函数。以下代码片段生成一个从 0 到 9 的数字:
var i = Int(arc4random_uniform(10))
给你:
@IBAction func nextButton(sender: AnyObject) {
if numberTextbox.text == ""{
return
}
var number:Int = 1 + numberTextbox.text.toInt()!
var randomNumber = random() % number
if randomNumber == 0{
randomNumber = 1
}
var textString = String(randomNumber)
numberLabel.text = textString
}
我还补充说,如果文本框是空的,它只是returns,如果随机数是0,它会变成1。
所以我想生成一个0到numberTextBox.text之间的随机数。
假设文本框文本是5,那么我想生成一个0到5之间的随机数。
我现在有:
@IBAction func nextButton(sender: AnyObject) {
let maxInteger = MacNumber.toInt()!
let randomNumber = arc4random_uniform(UInt32(maxNumber));
let mxNumber = numberTextBox.text
var textString = String(randomNumber)
numberLabel.text = textString
}
但是当我测试应用程序并在文本框中键入 5 时,numberLabel.text 类似于 192819371..它非常高。
也许你应该试试 let randomNumber = random() % MaxNumber
代替
let randomNumber = random(); MaxNumber
?
不要使用random(),使用arc4random()
或arc4random_uniform()
。 random()
需要播种并且将 return 每次播种后相同种子的相同序列。
let maxInteger = MaxNumber.toInt()!
let randomNumber = arc4random_uniform(UInt32(maxNumber));
arc4random()
不需要播种和 returns 加密质量随机数。
当需要约束范围时使用arc4random_uniform()
而不是模运算%
来消除模偏差。
如果要在Swift中生成随机数,请使用arc4random_uniform()函数。以下代码片段生成一个从 0 到 9 的数字:
var i = Int(arc4random_uniform(10))
给你:
@IBAction func nextButton(sender: AnyObject) {
if numberTextbox.text == ""{
return
}
var number:Int = 1 + numberTextbox.text.toInt()!
var randomNumber = random() % number
if randomNumber == 0{
randomNumber = 1
}
var textString = String(randomNumber)
numberLabel.text = textString
}
我还补充说,如果文本框是空的,它只是returns,如果随机数是0,它会变成1。