相关疑难解决方法(0)

在Objective-C中生成两个数之间的随机数

我有两个文本框,用户可以输入2个正整数(使用Objective-C).目标是在两个数字之间返回一个随机值.

我使用过"man arc4random",但仍然无法完全绕过它.我想出了一些代码,但它有问题.

float lowerBound = lowerBoundNumber.text.floatValue;
float upperBound = upperBoundNumber.text.floatValue;
float rndValue;
//if lower bound is lowerbound < higherbound else switch the two around before randomizing.
if(lowerBound < upperBound)
{
    rndValue = (((float)arc4random()/0x100000000)*((upperBound-lowerBound)+lowerBound));
}
else 
{
    rndValue = (((float)arc4random()/0x100000000)*((lowerBound-upperBound)+upperBound));
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我输入值0和3,它似乎工作得很好.但是,如果我使用数字10和15,我仍然可以为"rndValue"获得低至1.0000000或2.000000的值.

我是否需要详细说明我的算法,还是需要更改使用arc4random的方式?

random objective-c arc4random

49
推荐指数
3
解决办法
6万
查看次数

标签 统计

arc4random ×1

objective-c ×1

random ×1