Osc*_*ald 1 iphone random objective-c arc4random ios
我已经尝试了一段时间,但到目前为止还没有任何运气.
在iOS上检索两个非常精确数字之间的随机数的最简单方法是什么?
例如,我想要一个介于41.37783830549337和41.377730629131634之间的随机数,我将如何实现这一目标?
非常感谢你提前!
编辑:我试过这个:
double min = 41.37783830549337;
double max = 41.377730629131634;
double test = ((double)rand() / RAND_MAX) * (max - min) + min;
NSLog(@"Min:%lf, max:%lf, result:%lf",min,max,test);
Run Code Online (Sandbox Code Playgroud)
但结果并不像我希望的那样精确,结果像这样::
Min:41.377838, max:41.377731, result:41.377838
Run Code Online (Sandbox Code Playgroud)
您可以将输出标准化为rand您想要的任何范围:
((double)rand() / RAND_MAX) * (max - min) + min
Run Code Online (Sandbox Code Playgroud)
[ 注意:这是纯C,我假设它在Obj-C中等效地工作.]
[ 注2:根据需要替换double您选择的数据类型.]
[ 注3:根据需要替换rand您选择的随机数源.]