NSArrayまたはNSMutableArrayにfloat値(メンバ変数:変更継続)を格納したいので、NSLogフォームを見たい。何度も挑戦しましたが失敗しました。
助けてくれませんか?
NSArrayまたはNSMutableArrayにfloat値(メンバ変数:変更継続)を格納したいので、NSLogフォームを見たい。何度も挑戦しましたが失敗しました。
助けてくれませんか?
NSNumber
それがクラスがある理由です:
NSNumber *num = [NSNumber numberWithFloat:3.14f];
// or:
NSNumber *num = @(3.14f);
[mutableArray addObject:num];
NSLog(@"%f", [(NSNumber *)[mutableArray objectAtIndex:0] floatValue]);
プリミティブ型を に格納することはできませNSArray
ん。最初に、 などの NSObject インスタンスにそれらをボックス化 (ラップ) する必要がありますNSNumber
。
float myVal = 5.5f;
NSArray *arr = [NSArray arrayWithObjects:[NSNumber numberWithFloat:myVal], nil];
NSLog("some array: %@", arr);
もちろん、 を使用して float を直接出力することもできますNSLog(@"my value: %f", myVal)
。
別の答えを許してください。しかし、私はその古くて長すぎる構文を見ることができませんでした:
NSArray* arr= @[ @1.0 ];
NSLog(@"%@",arr[0] );
[arr[0] floatValue] を呼び出す必要がないことに注意してください。description メソッドがその役割を果たします。