gpt4 book ai didi

ios - 将超过 14 位的字符串转换为 float 或任何

转载 作者:行者123 更新时间:2023-11-29 02:58:32 26 4
gpt4 key购买 nike

在我的应用程序中,我有服务器上某个位置的经度和纬度。当我从服务器检索纬度和经度时,我将它们保存在字符串中。问题是我不能在 GMSCamerPosition 中使用字符串:

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:latit
longitude:longt
zoom:10];

所以我需要转换它们。

我试图将它们转换为整数,但无济于事。我也尝试将它们转换为 float / double ,但这也无济于事,因为它只在 .例如如果这是纬度字符串 = 25.8837788378837

将其转换为 float/double 产生 25.883778

这里我正在检索数据

NSURL *ur = [NSURL URLWithString:[NSString stringWithFormat:@"......"]];    
NSData *data = [NSData dataWithContentsOfURL:ur];

json = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];


for(int i=0; i<json.count; i++)
{
Lng = [[json objectAtIndex:i] objectForKey:@"Lng"];
Lat = [[json objectAtIndex:i] objectForKey:@"Lat"];
}

Lng 和 Lat 是我的字符串。

Lat = 25.431609385185958    
Lng = 49.583187103271484

以我为例。

我在这里使用它们

- (void)viewDidLoad
{
double latit = [lat doubleValue];
double longt = [lon doubleValue];
NSLog(@"%f",latit);
[super viewDidLoad];
// Do any additional setup after loading the view.
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:latit
longitude:longt
zoom:10];

double 也做不到。我只得到这个 = 25.431609。

我知道我必须将 NSLog 更改为 %.13f 才能全部打印出来。但我不想打印它,我想使用 GMSCameraPosition 中的变量。

最佳答案

一切正常,因为 rmaddy 说您没有打印所有数字。试试这个:

NSString *lat = @"25.8837788378837";
double doubleLat = [lat doubleValue];
NSLog(@"%.13f",doubleLat);

关于ios - 将超过 14 位的字符串转换为 float 或任何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23568820/

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