-3

NSArrayまたはNSMutableArrayにfloat値(メンバ変数:変更継続)を格納したいので、NSLogフォームを見たい。何度も挑戦しましたが失敗しました。

助けてくれませんか?

4

3 に答える 3

1

NSNumberそれがクラスがある理由です:

NSNumber *num = [NSNumber numberWithFloat:3.14f];
// or:
NSNumber *num = @(3.14f);
[mutableArray addObject:num];

NSLog(@"%f", [(NSNumber *)[mutableArray objectAtIndex:0] floatValue]);
于 2012-12-17T00:06:22.200 に答える
1

プリミティブ型を に格納することはできませ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)

于 2012-12-17T00:09:03.627 に答える
0

別の答えを許してください。しかし、私はその古くて長すぎる構文を見ることができませんでした:

NSArray* arr= @[ @1.0 ];
NSLog(@"%@",arr[0] );

[arr[0] floatValue] を呼び出す必要がないことに注意してください。description メソッドがその役割を果たします。

于 2012-12-17T00:27:59.690 に答える