String conversion for double use of coordinates, Xcode

I have a list of longitudes and latitudes in an XML file. I can print lat and lon as a string, but when I convert the string to double, I get 0.

Here is my code:

NSString *latstring = [[NSString alloc] initWithString:theList.lat] ;
NSString *lonstring = [[NSString alloc] initWithString:theList.lon];
NSLog(@"latstring: %@, lonstring: %@", latstring, lonstring);

double latdouble = [latstring doubleValue];
double londouble = [lonstring doubleValue];
NSLog(@"latdouble: %g, londouble: %g", latdouble, londouble);

When I write 'latstring' and 'lonstring', I get the correct coordinates, however, when I write 'latdouble' and 'londouble', I get 0.

I need lat and lon values ​​as double, so I can use them in mapview, since it will not allow me to use a string for coordinates.

This is probably a very simple explanation, but I'm pretty new to objective-c and can't find a solution for this.

Any help is greatly appreciated.

+5
source share
2 answers

. , , , 1 . , , , "latstring" "lonstring", 1, 0, . double.

:

NSString *latstring = theList.lat;
NSString *lonstring = theList.lon;
NSLog(@"%@, %@ wooo", latstring, lonstring);

NSString *latcutstring = [latstring substringFromIndex:1];
NSLog(@"cut lat: %@", latcutstring);
NSString *loncutstring = [lonstring substringFromIndex:1];
NSLog(@"cut lon: %@", loncutstring);

double latdouble = [latcutstring doubleValue];
NSLog(@"latdouble: %f", latdouble);
double londouble = [loncutstring doubleValue];
NSLog(@"londouble: %f", londouble);

.

: Nov 2012

, , , , .

NSString *trimlat = [theList.lat stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
    NSString *trimlon = [theList.lon stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

    //Convert to double
    double latdouble = [trimlat doubleValue];
    double londouble = [trimlon doubleValue];

    //Create coordinate
    CLLocationCoordinate2D coord = {(latdouble),(londouble)};
+12

, . , . Lat lon "dd.ddddddd".

    NSString *works = @"  12.5431 jdty";
    NSString *doesntWorks = @"E 43.4345";
    NSString *latstring = [[NSString alloc] initWithString:works] ;
    NSString *lonstring = [[NSString alloc] initWithString:doesntWorks];
    NSLog(@"latstring: %@, lonstring: %@", latstring, lonstring);

    double latdouble = [latstring doubleValue];
    double londouble = [lonstring doubleValue];
    NSLog(@"latdouble: %g, londouble: %g", latdouble, londouble);
+1

All Articles