gpt4 book ai didi

objective-c - 将字符串转换为 double 以供坐标使用,Xcode

转载 作者:太空狗 更新时间:2023-10-30 03:40:05 24 4
gpt4 key购买 nike

我在 XML 文件中有一个经度和纬度列表。我可以将 lat 和 lon 打印为字符串,但是当我将字符串转换为 double 时,我得到 0。

这是我的代码:

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);

当我记录“latstring”和“lonstring”时,我得到正确的坐标,但是当我记录“latdouble”和“londouble”时,我得到 0。

我需要 double 的纬度和经度值,这样我就可以在 map View 中使用它们,因为它不允许我使用字符串作为坐标。

对此可能有一个非常简单的解释,但是我对 Objective-C 还很陌生,似乎找不到解决方案。

非常感谢任何帮助。

最佳答案

解决了这个问题。在像 Phillip 所说的那样计算字符串的长度后,结果发现长度比字符串长 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);

谢谢 Phillip Mills 和 Tobol 的帮助。

编辑:2012 年 11 月

正如克雷格和菲利普所说,这是导致问题的空白区域,我找到了一种更安全的方法来避免删除所需的字符。

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)};

关于objective-c - 将字符串转换为 double 以供坐标使用,Xcode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11647997/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com