随机产生浮点随机数

这我们也会经常用到

首先要做的是精确位数 例如:    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;

}

你可能感兴趣的:(随机产生浮点随机数)