1

我已经尝试了一段时间,但到目前为止还没有任何运气。

在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);

但结果并不像我希望的那么精确,最终是这样的::

Min:41.377838, max:41.377731, result:41.377838
4

1 回答 1

6

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

((double)rand() / RAND_MAX) * (max - min) + min

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

[注2:double酌情替换为您选择的数据类型。]

[注3:rand酌情替换为您选择的随机数源。]

于 2012-01-02T22:26:05.197 回答