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無法容納任何其他字符串,因此這種方法沒問題。