【问题标题】:String to Float in Objective-C for Map Kit在Objective-C中用于Map Kit的字符串浮动
【发布时间】:2010-02-14 18:56:46
【问题描述】:

我正在尝试将一些 lat/long 值从 JSON 文档传递到 iPhone 的 Map Kit,然后在地图上绘制点。这些值来自一个 NSArray:

CGFloat goLat = [valfields objectForKey: @"geo_lat"];
CGFloat golong = [valfields objectForKey: @"geo_long"];


CLLocationCoordinate2D newCoord = {golat, golong}; etc...

但我收到“不兼容的类型”错误。

我的猜测是我需要将字符串值从我的数组转换为 CGFloat?但我很确定。

有什么想法吗?

谢谢,

g

【问题讨论】:

    标签: objective-c iphone-sdk-3.0 mapkit


    【解决方案1】:

    'Casting' 不是您需要做的,但如果您的数组(实际上从您的代码看起来像字典)包含字符串,那么是的,您需要将它们转换为数字格式。试试这个:

    CGFloat goLat = [[valfields objectForKey: @"geo_lat"] floatValue];
    

    来自NSString documentation

    浮点值

    float 形式返回接收者文本的浮点值。

    - (float)floatValue

    返回值
    接收方文本的浮点值,为 float,跳过字符串开头的空格。在上溢时返回 HUGE_VAL–HUGE_VAL,在下溢时返回 0.0。如果接收方不是以浮点数的有效文本表示开头,则还返回 0.0

    另外,NSString 有一个-doubleValue 方法。还有一个NSNumber 类,它可能比字符串更适合您的数据。

    【讨论】:

      猜你喜欢
      • 2010-12-23
      • 2012-12-19
      • 2011-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多