Iphone 使用[NSNumber numberWithDouble:]将double转换为NSNumber

Iphone 使用[NSNumber numberWithDouble:]将double转换为NSNumber,iphone,nsnumber,Iphone,Nsnumber,有一个坐标对象具有三个变量纬度(NSNumber)、经度(NSNumber)和时间(NSDate),为了在模拟器上检查程序,我给出了以下代码 [coordinate setLatitude:[NSNumber numberWithDouble:23.234223]]; [coordinate setLongitude:[NSNumber numberWithDouble:73.234323]]; 但是,当我记录坐标.纬度和坐标.经度时,它会显示0.00000 NSLog(@"cordlat :

有一个坐标对象具有三个变量纬度(NSNumber)、经度(NSNumber)和时间(NSDate),为了在模拟器上检查程序,我给出了以下代码

[coordinate setLatitude:[NSNumber numberWithDouble:23.234223]];
[coordinate setLongitude:[NSNumber numberWithDouble:73.234323]];
但是,当我记录坐标.纬度和坐标.经度时,它会显示0.00000

NSLog(@"cordlat :  %f",coordinate.latitude);
NSLog(@"cordlong :  %f",coordinate.longitude);

有什么问题?

您不能用
%f
打印
NSNumber
。您可以执行以下操作之一:

  • NSLog(@“cordlat:%@”,坐标纬度)
  • NSLog(@“cordlat:%f”,坐标纬度双值)

  • 什么类型的坐标?坐标是类坐标的对象,它有三个变量纬度、经度和时间,这个对象将与coredata一起使用,因此我将纬度和经度定义为NSNumber类型问题标题和问题描述似乎不匹配:s