【问题标题】:how to convert north south direction to + or - symbol objective c如何将南北方向转换为+或-符号目标c
【发布时间】:2014-03-29 18:20:21
【问题描述】:

我有一个带有 N/S 和 E/W 符号的坐标。我需要将其转换为CLLocationCoordinate2D。我有度数字符串和方向字符串分别需要知道如何转换它们。

例子:

longitude: @"80.26416666666667"
longitude direction: @"E"
latitude: @"13.05866666666667"
latitude direction: @"N"

如何将 N/E 和 W/S 转换为具有正或负大小的原始浮点值

【问题讨论】:

  • 请在投反对票时发表评论,以便我了解问题所在

标签: objective-c location cllocationcoordinate2d


【解决方案1】:

可以使用NSString中的方法将字符串转换为数字:

#import <Foundation/Foundation.h>
#import <CoreLocation/CoreLocation.h>

int main(int argc, const char * argv[])
{
    @autoreleasepool {

        NSString *longitudeStr = @"80.26416666666667";
        NSString *longitudeCardinalDirection = @"E";
        NSString *latitudeStr = @"13.05866666666667";
        NSString *latitudeCardinalDirection = @"N";

        CLLocationDegrees longitude = [longitudeStr doubleValue];
        CLLocationDegrees latitude = [latitudeStr doubleValue];

        if ([longitudeCardinalDirection isEqualToString:@"W"]) longitude *= -1;
        if ([latitudeCardinalDirection isEqualToString:@"S"]) latitude *= -1;

        CLLocationCoordinate2D coord = CLLocationCoordinate2DMake(latitude, longitude);

        NSLog(@"%f, %f", coord.latitude, coord.longitude);
    }
    return 0;
}

【讨论】:

  • 我有度数字符串和方向字符串分别需要知道如何转换它们
猜你喜欢
  • 1970-01-01
  • 2019-07-05
  • 2012-08-03
  • 1970-01-01
  • 1970-01-01
  • 2013-04-04
  • 2014-08-23
  • 1970-01-01
  • 2021-02-12
相关资源
最近更新 更多