我已经尝试了一段时间,但到目前为止还没有运气。
在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
答案 0 :(得分:6)
您可以将rand
的输出标准化为您想要的任何范围:
((double)rand() / RAND_MAX) * (max - min) + min
[注意:这是纯C,我假设它在Obj-C中等效地工作。]
[注意2:将double
替换为您选择的数据类型。]
[注意3:将rand
替换为您选择的随机数源。]