2012-11-13 92 views
1

我目前正在与地方工作的一个应用程序,因此,我有以下代码:如何将字符串转换为double加点?

CLLocationCoordinate2d coord; 
coord.longitude = [longitude doubleValue]; 
coord.latitide = [latitude doubleValue]; 

似乎合法的,不是吗? 现在的经度和纬度都是“10.112233”。我知道通常双没有得分,但cllocationcoordinate2d希望它是这样的...

现在,如果你NSLog的字符串,他们工作得很好,但如果你NSLog的doubleValues它只是没有返回。 我该如何解决这个问题?

+0

确保你使用了正确的打印格式为双,%F – InsertWittyName

+0

谢谢,但我做。 –

+0

这很奇怪。你能展示更多代码来包含日志记录吗?此外,双打通常在他们有小数点。 – InsertWittyName

回答

1

下面应该工作:

NSString *coordinateAsString = @"10.112233"; 
coord.longitude = [[NSDecimalNumber decimalNumberWithString:coordinateAsString] doubleValue]; 
+0

谢谢,现在对我来说很合适。在此之前我还犯了另一个错误,这导致了nils,但这个帮助!谢谢! –

1

你能尝试使用NSDecimalNumber类似以下内容:

NSString *string = @"10.112233"; 
NSDecimalNumber *number = [NSDecimalNumber decimalNumberWithString:string]; 
+0

Nah,不起作用“发送不兼容的类型NSDecimalNumber到CLLocationDegrees类型的实例(又名双重)” –

相关问题