iOS上的高精度随机数

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)

Oli*_*rth 6

您可以将输出标准化为rand您想要的任何范围:

((double)rand() / RAND_MAX) * (max - min) + min
Run Code Online (Sandbox Code Playgroud)

[ 注意:这是纯C,我假设它在Obj-C中等效地工作.]

[ 注2:根据需要替换double您选择的数据类型.]

[ 注3:根据需要替换rand您选择的随机数源.]