【问题标题】:Pointer cannot be cast to type 'double'指针不能转换为“double”类型
【发布时间】:2013-08-01 13:52:42
【问题描述】:

我想同时在地图上显示多个注释。我遇到的问题是我将所有纬度和经度都作为 NSString ...

我想将字符串转换为 duble 以便我可以传递给“CLLocationCoordinate2D”实例.. 但我收到错误消息:指针不能转换为类型“双”

locationCoordinate.latitude=(double)NearbyLocations.lat;
locationCoordinate.latitude=(double)NearbyLocations.lng;

这是我遇到问题的代码的一部分。但是,正如您可能看到的,我还没有完成它。

NSMutableArray *locations= [[NSMutableArray alloc]init];
CLLocationCoordinate2D locationCoordinate;
location *NearbyLocations;
Annotation *annotatedLocations;

//for (int i=0; i < locationOnMap.count;i++) {


    annotatedLocations = [[Annotation alloc]init];

    locationCoordinate.latitude=(double)NearbyLocations.lat;
    locationCoordinate.latitude=(double)NearbyLocations.lng;
    annotatedLocations.coordinate=locationCoordinate;
    annotatedLocations.title=NearbyLocations.lo_name;
    annotatedLocations.subtitle=NearbyLocations.lo_vicinity;
    [locations addObject:annotatedLocations];
//}

如何将点类型的字符串转换为双精度

【问题讨论】:

  • 您使用哪种语言?
  • Marc,它看起来很像 Objective-C
  • 很抱歉,我使用的是 Objective-c !!!完全忘了说!

标签: objective-c pointers casting double


【解决方案1】:

你必须使用NSString转换方法doubleValue。看看这里:How to do string conversions in Objective-C?

【讨论】:

    【解决方案2】:

    这意味着您正在尝试将 NSNumber 目标 c 对象转换为 C 原始类型,这是不可能的。要将整数添加到字典中,您必须将其转换为 NSNumber 对象。要将其拉出,您必须像这样将其转换回来:

    locationCoordinate.latitude = [NearbyLocations.lat doubleValue];
    locationCoordinate.latitude = [NearbyLocations.lng doubleValue];
    

    【讨论】:

      猜你喜欢
      • 2021-09-20
      • 2022-10-20
      • 1970-01-01
      • 1970-01-01
      • 2011-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多