我有一个数组:
SomeArray =[[NSMutableArray alloc]initWithObjects:[NSNumber numberWithFloat:50.0],[NSNumber numberWithFloat:120.0],[NSNumber numberWithFloat:200.0],nil];
当我找回它时:
NSNumber* Target = [SomeArray objectAtIndex:0];
当我记录它时:
NSLog(@"Target %d",Target);
它返回了像
这样的时髦2013-06-26 01:47:58.940 KKK[1027:c07] Target 121016880
这样做的正确方法是什么?我只需要将数组中的number
用作float
。
答案 0 :(得分:4)
您正在检索NSNumber
,这是一个对象。
%d
用于记录小数,这不是你的情况。
您可以使用
进行记录NSLog(@"Target %@", target);
或者您将其转换为浮动并使用%f
NSLog(@"Target %f", [target floatValue]);
并且请不要对变量使用大写标识符!
答案 1 :(得分:1)
您要求日志中的小数%d和基本类型。 NSNumber是一个包装基本类型数字的对象。所以你可以这样做
NSLog(@"target %f",[Target floatValue])
或NSLog(@"target %@",Target)
。第一个是向对象发送消息以使用后者解包浮点值,您要求对象描述,在这种情况下是数字