【问题标题】:Generate random number in range in iOS? [closed]在iOS中生成范围内的随机数? [关闭]
【发布时间】:2011-08-01 21:32:48
【问题描述】:

我正在尝试让一个随机数生成器在 iPhone 上运行。有两个文本字段,一个标签和一个按钮。在一个文本字段中输入最小值,在下一个文本字段中输入最大值。单击该按钮将在 UILabel 中显示随机数。我以前做过一次,今天无法弄清楚。我可以访问的任何代码或地方都可以找到这一点,这将是非常棒的。

谢谢

【问题讨论】:

    标签: iphone ios random


    【解决方案1】:
    NSString *min = myMinTextField.text; //Get the current text from your minimum and maximum textfields.
    NSString *max = myMaxTextField.text;
    
    int randNum = rand() % ([max intValue] - [min intValue]) + [min intValue]; //create the random number.
    
    NSString *num = [NSString stringWithFormat:@"%d", randNum]; //Make the number into a string.
    
    [myLabel setText:num]; // Give your label the value of the string that contains the number.
    

    更新:

    看来使用arc4random 可能比使用rand 更好,你可以看到更多关于它的信息here。只需将所有rands 替换为arc4random

    【讨论】:

    • 我现在想起来了!我就是这样做的。谢谢一百万
    • 我更喜欢arc4random() 来生成随机数。只是我的 2 美分。
    • 我似乎无法让 arc4random 为我工作。不知道为什么。总之非常感谢
    • 此代码正常工作以生成范围之间的随机数,但不显示最后一个数字。表示范围(1 到 50)之间,它显示的数字介于 1 到 49 之间。
    • @HimanshuMahajan:如果您希望范围包含在内:([max intValue] - [min intValue]+1) + [min intValue]
    【解决方案2】:
    #include <stdlib.h>
    
    int randomNumber = min + rand() % (max-min);
    

    【讨论】:

      猜你喜欢
      • 2010-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-08
      • 1970-01-01
      • 1970-01-01
      • 2014-08-11
      • 1970-01-01
      相关资源
      最近更新 更多