我正在尝试将字符串转换为双精度值以将其用作注释中的坐标。
我需要双精度值在地图上放置 5 个小数位。
假设字符串是hello
,我需要的双精度是whatsup
。
字符串的格式正是我想要的格式,我想让它成为双精度,所以我使用了字符串的 doublevalue 属性。
NSString *hello = @"12.61655";
double whatsup = hello.doubleValue;
NSLog(@"%f",whatsup); //this gives 12.616550 WITH A ZERO in the end
NSLog(@"%.5f",whatsup); //This gives me the correct value of 12.61655 with only 5 decimal places
所以现在如果我想写:
coordinate.latitude = whatsup
它给出了带有额外零的双倍。
我该怎么写
coordinate.latitude = SOMETHING HERE
哪个是只有 5 个小数位的双精度数?
我可以在这里以某种方式实现“%.5f”吗?
已经尝试过 numberformatter,但它给了我一个 NSnumber。我需要一个双:
我在 for 循环中使用此代码来绘制注释(引脚)。
当我对双打使用相同的 forloop 时,我对其进行硬编码时效果很好。但是当我使用此代码从 csv 文件中获取值时,我没有得到任何引脚:
double latitudeFromCSV = [[components objectAtIndex:0] doubleValue];
double longitudeFromCSV = [[components objectAtIndex:1] doubleValue];
CLLocationCoordinate2D annotationCoord;
annotationCoord.latitude = latitudeFromCSV;
annotationCoord.longitude = longitudeFromCSV;