重複の可能性:
浮動小数点数の修正
float randNum = arc4random()%(100)-1;
これにより、1〜100の乱数が得られることをどこかで読みました。またはそれに近い何か。
この行は常に機能しているように見えますが、この数値をテキストへの保存/印刷のために NSString に変換してから、順序付けやその他の計算のために float に戻します。しかし、そのフロートを元に戻すと、意味不明のように見えることがあります。変数ビューで次のようにします。
9 float 9.75303731e-41
NSString に変換して float に戻すと、使用している float 値が台無しになるのはなぜですか? (例えば、私は何を台無しにしたのでしょうか? または、代わりに CGFloat を使用する必要がありますか?)
これがすべての関連コードだと思います:
NSMutableArray *stringArray = [[NSMutableArray alloc] init];
floatArray[30];
// put three random floats into an NSMutableArray of NSStrings
for(int i = 0; i < 3; i++)
{
float randNum = arc4random()%(100)-1;
NSString *randString = [NSString stringWithFormat:@"%.3f", randNum];
[stringArray addObject:randString];
}
// convert NSStrings back to float
for(NSString *string in stringArray)
{
float temp = [string floatValue];
floatArray[iterator] = temp;
}
ヘルプ/アドバイスをお寄せいただきありがとうございます。
編集:コードをステップ実行すると、値がガベージされているように見える「float temp = [string floatValue]」行まで、float 値が正常に見えるように見えます。