Objective c 在NSArray或NSMutableArray中存储浮点值(成员变量)的方法

Objective c 在NSArray或NSMutableArray中存储浮点值(成员变量)的方法,objective-c,ios,cocoa-touch,Objective C,Ios,Cocoa Touch,我想存储浮点值成员变量:更改NSArray或NSMutableArray中的continue,以便查看NSLog表单。我试了一次又一次,但失败了 你能帮帮我吗?这就是为什么会有NSNumber类: NSNumber *num = [NSNumber numberWithFloat:3.14f]; // or: NSNumber *num = @(3.14f); [mutableArray addObject:num]; NSLog(@"%f", [(NSNumber *)[mutableArr

我想存储浮点值成员变量:更改NSArray或NSMutableArray中的continue,以便查看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)中对它们进行包装


当然,您可以直接使用NSLog@my值:%f,myVal。

请原谅我的另一个答案,但我看不到那个古老而过长的语法:

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

请注意,您不必调用[arr[0]floatValue],description方法将完成它的工作。

我试过了。但是日志只显示了1个object,为什么不阅读文档呢?你为什么不谷歌一下?你为什么问愚蠢的问题?很抱歉听到这个。我已经试着用谷歌搜索够了,现在,我别无选择,只能这么做@김해현 -为什么需要多个对象?也是NSLog@%@,可变数组[0];唯一较短的部分是@1.0;,你不能在变量上使用这种符号。你说得不对,我可以用这种符号,区别不仅仅在于你看起来很好。但是我把它做得更短了。我不这么认为。顺便说一句,您还遗漏了[0],而不是objectAtIndex,并且遗漏了使用%@说明符的floatValue。上面的语法是合法的。第一个@将转换为NSArray实例化,而@1.0将从指定的浮点实例化NSNumber。您的意思是不能在变量上使用该符号?您想查看NSLog表单是什么意思?
NSArray* arr= @[ @1.0 ];
NSLog(@"%@",arr[0] );