我有两个文本框,用户可以输入 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));
}
现在,如果我输入值 0 和 3,它似乎工作得很好。但是,如果我使用数字 10 和 15,对于“rndValue”,我仍然可以获得低至 1.0000000 或 2.000000 的值。
我需要详细说明我的算法还是需要改变我使用 arc4random 的方式?