-1

哪个数据类型将按原样返回值 (37.961498)?

我在地图视图中工作。在哪里,目前我正在设置注释,因此我必须使用从 googleAPI 解析的一些 lat 和 lng 设置 CLLocationCoordinate2DMake (例如:lat = "37.9615000" 和 lng = "60.5566000") 。我有字符串中的值,因此我将字符串转换为双精度然后分配但它没有帮助。请有人帮助我。

   double int1=[num1s floatValue];
    double int2=[num2s floatValue];
   NSLog(@" %f %f ",int1,int2);
    annotation.coordinate=CLLocationCoordinate2DMake(int1, int2);

实际值为:37.9615000,60.5566000 我在 NSLog 中得到的值:37.961498, 60.556599

提前致谢。

我需要确切值的更多解释和原因:

我需要用它的 lat 和 lan 为中国设置注释( lat = "53.5609740"; lng = "134.7728099")

但是在再次从字符串转换时,值会发生变化

在此处输入图像描述

4

3 回答 3

2

将 a 转换string为 a时,double您应该使用doubleValue而不是floatValue

double int1=[num1s doubleValue];
double int2=[num2s doubleValue];
NSLog(@" %f %f ",int1,int2);
annotation.coordinate=CLLocationCoordinate2DMake(int1, int2);

也不是很重要,但我不建议将你的双打命名为 int1 和 int2 这可能会在某些时候让你感到困惑

于 2013-10-29T11:07:08.277 回答
2
annotation.coordinate=CLLocationCoordinate2DMake([nums doubleValue], [int2 doubleValue]);

尝试这个

于 2013-10-29T13:22:05.263 回答
1
double int1=[num1s floatValue];
double int2=[num2s floatValue];
NSLog(@" %0.7f %0.7f ",int1,int2);
annotation.coordinate=CLLocationCoordinate2DMake(int1, int2);

阅读字符串格式说明符以获取更多信息。

于 2013-10-29T11:56:33.103 回答