1
我一直在嘗試這一段時間,但迄今爲止還沒有任何運氣。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);
但結果是不太一樣精確,因爲我希望,並弄成這個樣子::
Min:41.377838, max:41.377731, result:41.377838
我試過這個:'double min = 41.37783830549337; double max = 41.377730629131634; ((double)rand()/ RAND_MAX)*(max_min)+ min; NSLog(@「Min:%lf,max:%lf,result:%lf」,min,max,test);' - 但它似乎沒有給出我想要的精度,並且回顯出來:Min: 41.377838,最大值:41.377731,結果:41.377838 – 2012-01-02 22:47:47
@Oscar:這是您在顯示數字時如何格式化的工具。我不知道Obj-C,但是如果'NSLog'像'printf'一樣工作,那麼嘗試使用例如'%.15f'。 – 2012-01-02 22:49:54
@Oscar:還請注意,雙精度相當於大約15-16小數位的精度。如果您需要更多,則需要更精確的類型。但這是一個單獨的問題,而不是在一個範圍內生成隨機數的問題。 – 2012-01-02 22:50:56