1

私はこれをしばらく試してきましたが、今のところ運がありません。

iOSで2つの非常に正確な数値の間の乱数を取得する最も簡単な方法は何ですか?

たとえば、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 に答える