2011-08-07 9 views
0

지난 며칠간이 응용 프로그램에서 작업 중이며 마침내 XML 데이터가 UITableView로 파싱되었습니다. 하지만 주요 문제는 테이블에 표시되는 실제 데이터가 표시되는 방식이 아니라는 것입니다.NSString stringWithFormat : 숫자 값

예를 들어 "134.9"(따옴표 제외) 값을 가진 요소 하나 (XML 파일에 있음)가 있는데 '[NSString stringWithFormat : @ "£ % @", [price objectAtIndex : indexPath.row]]; ' 표에 '{Lowest = "134.9 \ n \ t"; } '.

하지만 '% d'을 사용하면 134.9와 일치하지 않는 임의의 숫자로 나타납니다. 그래서 여기

코드입니다 :

cell.textLabel.text = [NSString stringWithFormat:@"£%d", [prices objectAtIndex:indexPath.row]]; 

이 XML은 설치 방법 :

<PetrolPrices> 
<Fuel type="Unleaded"> 
<Highest units="p">145.9</Highest> 
<Average units="p">135.2</Average> 
<Lowest units="p">131.9</Lowest> 
</Fuel> 
<Fuel type="Diesel"> 
<Highest units="p">149.9</Highest> 
<Average units="p">139.3</Average> 
<Lowest units="p">135.9</Lowest> 
</Fuel> 
<Fuel type="LRP"> 
<Highest units="p">136.9</Highest> 
<Average units="p">136.9</Average> 
<Lowest units="p">136.9</Lowest> 
</Fuel> 
<Fuel type="Super Unleaded"> 
<Highest units="p">152.9</Highest> 
<Average units="p">142.3</Average> 
<Lowest units="p">135.9</Lowest> 
</Fuel> 
<Fuel type="LPG"> 
<Highest units="p">76.9</Highest> 
<Average units="p">76.9</Average> 
<Lowest units="p">76.9</Lowest> 
</Fuel> 
<Link> 
</Link> 
</PetrolPrices> 

마지막으로, 내가 파서 사용하여 호출 비트 : 또한

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName 
{ 
    NSLog(@"ended element: %@", elementName); 

    if ([elementName isEqualToString:@"Fuel"]) 
    { 
     [item setObject:fuel_price forKey:@"Lowest"]; 

     [item setObject:fuel_type forKey:@"type"]; 

     [prices addObject:[item copy]]; 

     NSLog(@"adding fuel prices: %@ - %@", fuel_price, fuel_type); 
    } 

} 

을 누군가가 XML 에서처럼 속성을 얻을 수있는 방법을 말해 줄 수 있다면 <Fuel type="Unleaded"> 수없는 것 같습니다. 이것을 검색하십시오. 사전 :

답변

4

하지만 '% d'을 (를) 사용하는 경우는 임의의 숫자

의 무리로 등장에서

감사

% d를 int 형의 형식 지정자이지만, 물체를 지나가고있어. 단순히 숫자를 원할 경우 % d를 그대로 사용하고 객체에 따라

Item *item = [prices objectAtIndex:indexPath.row]; 
cell.textLabel.text = [NSString stringWithFormat:@"£%d", item.price]; 

또는 이와 유사한 값을 전달하십시오.

+0

아 난 왜 '최저 = xxx.x'를 포함하고 있기 때문에 난수를하고 있는지 안다. 내가 '최저'키를 사용하고 있다고 언급했는데 XML에는 'unit = "p"' 내가 그것을 부르면 그것을 해결할 수 있을까? 유일한 것은 속성을 얻는 방법을 모른다는 것입니다. – bennyyboi

관련 문제