Object-Cは乱数と四捨五入により2桁の小数を保持してNSNumberを取得する
820 ワード
Object-Cの学習中に乱数を生成する必要がある場合に遭遇し、小数点以下の指定桁数を保持し、上へ検索すると統一的な答えがなく、自分で次のように解決しようとした.
まずcコードテストから結果を見る
これで私が欲しい100以内の乱数が生成され、負の数が必要になるので、最後に50を減算します.
まずcコードテストから結果を見る
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main (int argc, const char * argv[])
{
int i;
srand((unsigned int) time(NULL));
for(i=0;i<9;i++){
printf("%.2f
",(float)(rand()%100001)*0.001f);
}
return 0;
}
これで私が欲しい100以内の乱数が生成され、負の数が必要になるので、最後に50を減算します.
NSNumber* tempnumber = [NSNumber numberWithDouble:[[NSString stringWithFormat:@"%.2f",
(float)(rand()%100001)*0.001f -20] doubleValue]];