将两个lat和LNG转换为“8英里远”的字符串

时间:2011-03-06 17:34:10

标签: iphone objective-c latitude-longitude

我似乎无法将两个lat和LNG转换为字符串。当我转换为度数并回到一个字符串时,我会得到像999737这样的大数字,应该是2英里或更短的距离。

确定无误!

1 个答案:

答案 0 :(得分:5)

以下是如何在双倍之间进行转换 - >字符串&从字符串返回 - >双

//Defining Latitude & Longitude    
NSNumber *latitude = [NSNumber numberWithDouble:31.5497226715];
NSNumber *longitude = [NSNumber numberWithDouble:74.3436126709];
NSLog(@"Origional > Lat: %.10f, Lng: %.10f", [latitude doubleValue], [longitude doubleValue]);

//Conversion to string
NSString *latitudeStr = [latitude stringValue];
NSString *longitudeStr = [longitude stringValue];
NSLog(@"String > Lat: %@, Lng: %@", latitudeStr, longitudeStr);


//String to double
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];

NSNumber *latitudeFromStr = [numberFormatter numberFromString:latitudeStr];
NSNumber *longitudeFromStr = [numberFormatter numberFromString:longitudeStr];

[numberFormatter release];

NSLog(@"Back from string > Lat: %.10f, Lng: %.10f", [latitudeFromStr doubleValue], [longitudeFromStr doubleValue]);