将两个double值转换为String,然后使用新字符串创建一个字符串

时间:2012-10-09 09:08:51

标签: objective-c ios nsstring nsstringencoding

我正在尝试将两个值转换为字符串,然后创建一个包含我之前创建的字符串的新字符串,以便我的服务可以接受它们。

NSString *string1 = [ NSString stringWithFormat:@"%f", locationController.dblLatitude];
NSString *string2 = [ NSString stringWithFormat:@"%f", locationController.dblLongitude];



body = [[NSString stringWithFormat:@"geoX#%@#geoY#%@", string1, string2] dataUsingEncoding:NSUTF8StringEncoding];

这是我使用atm的代码。问题是string1和string2看起来都没问题,但是名为body的字符串似乎不起作用..:<有什么帮助吗?

3 个答案:

答案 0 :(得分:1)

body此处不是NSString个实例,而是NSData(因为您正在使用`dataUsingEncoding:“。 如果你想在系统日志中看到串联连接,你应该写下这样的东西:

NSString* bodyString = [NSString stringWithFormat:@"geoX#%@#geoY#%@", string1, string2];
NSData* bodyData = [bodyString dataUsingEncoding:NSUTF8StringEncoding];

然后您可以NSLog(@"Body: %@", bodyString);查看其内容,然后使用bodyData发出http请求。

答案 1 :(得分:1)

body不是NSString;由于您致电NSData,这是dataUsingEncoding

答案 2 :(得分:1)

我相信这种情况正在发生,因为您只是记录原始数据。尝试从数据创建一个字符串,然后像这样记录它:

body = [[NSString stringWithFormat:@"geoX#%@#geoY#%@", string1, string2] dataUsingEncoding:NSUTF8StringEncoding];
NSString *string = [[NSString alloc] initWithData:body encoding:NSUTF8StringEncoding];
NSLog(@"%@",string);