2010-01-19 84 views
0

我正在读取XML数据并创建对象,但我需要一些对象变量为浮点数。与- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string它显然成为一个字符串和我的浮动变量将被设置为0.000000。iPhone XML解析浮点数据

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName我想是这样的值设置为对象时,但作为的setValue想要一个(ID),关键是显然不兼容的类型(我刚刚意识到温度设置为0.000000反正,这样的floatValue没有按也没有工作)。

if([elementName isEqualToString:@"longitude"]) 
{ 
    float temp = [currentElementValue floatValue]; 
    [myObj setValue:temp forKey:elementName]; 
} 

没有人有任何想法如何解决这个问题还是我只是将它设置为我的对象NSString的并将其转换为浮动算账?

回答

1

解析时只需将其保存为字符串即可。然后,当你需要它进行计算时,将它转换为 浮点数,其中[NSString floatValue]与上面一样。

但是我认为float不能抱NSString返回所以用您的临时为CGFloat,而不是尝试它的价值。

xml无法容纳任何其他字符串,因此这种方法没问题。