[英]NSString stringWithFormat: for a number value
過去幾天一直在使用此應用程序,直到最后才將XML數據解析為UITableView。 但是主要的問題是表上顯示的實際解析數據不是應該如何顯示。
例如,我有一個元素(在XML文件上),其值是“ 134.9”(不帶引號),如果我使用'[NSString stringWithFormat:@“£%@”,則[price objectAtIndex:indexPath.row ]];” 它在表格中顯示為'{最低=“ 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">
的屬性,那么我似乎無法檢索到它。
提前致謝 :)
但是,如果我使用'%d',它將出現為一堆隨機數
%d是int的格式說明符,但是您要傳入一個對象。 如果只需要數字,請保留%d,但傳遞正確的值:
Item *item = [prices objectAtIndex:indexPath.row];
cell.textLabel.text = [NSString stringWithFormat:@"£%d", item.price];
或類似的東西,具體取決於您的對象。
看一看字符串格式說明符 。 這將使您的編碼更加容易。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.