这我们也会经常用到
首先要做的是精确位数 例如: int precision = 100;
在确定一个最大和一个最小的数值 largerNumber and smallNumber
在取绝对值差值: float subtraction = largerNumber - smallerNumber;
取绝对值 subtraction = ABS(subtraction);
乘以精度的位数 :subtraction *= precision;
差值间随机 float randomNumber = arc4random()%((int)subtraction+1);
随机的结果除以精度的位数 randomNumber /= precision;
将随机的值加到较小的值值 float result = MIN(smallerNumber,largerNumber)+ randomNumber;
代码如下
-(float)randomBetween:(float)smallerNumber And:(float)largerNumber
{ int precision = 100;
float subtraction = largerNumber - smallerNumber;
subtraction = ABS(subtraction);
subtraction *= precision;
float randomNumber = arc4random()%((int)subtraction+1);
randomNumber /= precision;
float result = MIN(smallerNumber,largerNumber)+ randomNumber;
return result;
}
网友评论