У меня есть два текстовых поля, и пользователь может ввести 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, я все равно могу получить значения как 1.0000000 или 2.000000 для "rndValue".
Нужно ли мне разработать свой алгоритм или мне нужно изменить способ использования arc4random?