0

我有一个数组:

SomeArray =[[NSMutableArray alloc]initWithObjects:[NSNumber numberWithFloat:50.0],[NSNumber numberWithFloat:120.0],[NSNumber numberWithFloat:200.0],nil];

当我检索它时:

NSNumber* Target = [SomeArray objectAtIndex:0];

当我 NSLog 时:

NSLog(@"Target %d",Target);

它返回一些时髦的东西

2013-06-26 01:47:58.940 KKK[1027:c07] Target 121016880

这样做的正确方法是什么?我只需number要将数组中的 用作float.

4

2 回答 2

4

您正在检索 a NSNumber,它是一个对象。

%d用于记录小数,这不是你的情况。

要么你用

NSLog(@"Target %@", target);

或者您将其转换为浮点数并使用%f

NSLog(@"Target %f", [target floatValue]);

不要对变量使用大写的标识符!

于 2013-06-25T17:59:39.417 回答
1

您在日志中要求小数 %d 以及原始类型。NSNumber 是一个包装原始类型数字的对象。所以你可以这样做 NSLog(@"target %f",[Target floatValue])NSLog(@"target %@",Target). 第一个是向对象发送消息以解开浮点值,而后者是要求对象描述,在这种情况下是数字

于 2013-06-25T18:01:25.550 回答