随机产生浮点随机数

这我们也会经常用到

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

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容